我有一些代码可以在AWS服务器上传文件。它工作正常,直到今天,我决定从我的AWS服务器中删除所有代码,并上传最新的代码副本,从那时起它就停止了工作。有人可以发现错误。
我试着调试一下,我发现mkdir(...)函数返回false。我不知道为什么它会返回假。我拥有“uploads”文件夹的所有权限 - drwxrwxr-x。我也在我的表单上使用enctype =“multipart / form-data”。
有人可以指出我正确的方向吗?我会做其余的事。
感谢。请帮忙!
$uniqueKey = md5(microtime(true)).uniqid();
$ret = array();
function makedir($dir){
if (!is_dir($dir) && strlen($dir)>0){
mkdir($dir, 0777, true);
chmod($dir, 0777);
}
}
$output_dir = "../uploads/".$uniqueKey."/";
makedir($output_dir);
if(isset($_FILES["myfile"])){
$error =$_FILES["myfile"]["error"];
$ret['unique'] = $uniqueKey;
$ret['error'] = $error;
if(!is_array($_FILES["myfile"]["name"])){
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
$ret[]= $fileName;
}else{
$fileCount = count($_FILES["myfile"]["name"]);
for($i=0; $i < $fileCount; $i++){
$fileName = $_FILES["myfile"]["name"][$i];
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
$ret[]= $fileName;
}
}
}
echo json_encode($ret);
答案 0 :(得分:0)
这是权限。我将我的文件夹的权限从drwxrwxr-x更改为drwxrwxrwx,并且它有效。