我尝试使用php请求扫描目录中的文件。这是我现在的代码:
$.ajax({
type: "POST",
url: "scandir.php",
data: { dirname: "./test" },
success: function( data ) {
console.log( data );
}
error: function() {
console.log( "error" );
}
});
scandir.php:
<?php
$dirname = $_POST[ "dirname" ];
$files = scandir( $dirname ) or die("Unable to scan directory " . $dirname );
foreach ( $files as $filename ) {
echo $filename . "\n";
}
?>
问题是,请求总是成功返回,即使目录&#34; dirname&#34;不存在(它返回php目录未找到消息的文本)。如果找不到目录,如何让它返回错误?
答案 0 :(得分:1)
if(!empty($_POST["dirname"])) {
$dirname = $_POST["dirname"];
if(!is_dir($dirname)) {
header('HTTP/1.0 404 Not Found');
exit;
}
foreach(scandir($dirname) as $filename) {
echo $filename . "\n";
}
}
答案 1 :(得分:0)
正如您所见here,error
条目仅适用于超时或404未找到的http错误。如果你想检查php脚本是否在内部失败,你可以使用php的方法header
设置一个标头,或者你在成功函数中检查php脚本是否返回错误。希望有所帮助。