0
AWSサーバー上にファイルをアップロードするコードがあります。今日まではうまくいっていたので、AWSサーバーからすべてのコードを削除し、最新のコードをアップロードすることにしました。誰かがエラーを見つけてください。PHPファイルアップロードがAWSサーバー上で動作しない - mkdirがfalseを返す
少しデバッグしようとしましたが、mkdir(...)関数がfalseを返すことがわかりました。私はなぜそれが偽を返すのか分からない。私は私の "アップロード"フォルダ(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);