我有一个PHP代码片段
<?php
$target_dir = "uploads/";
$target_file_name = $target_dir .basename($_FILES["file"]["name"]);
$response = array();
// Check if image file is a actual image or fake image
if (isset($_FILES["file"]))
{
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file_name))
{
$success = true;
$message = "Successfully Uploaded";
}
else
{
$success = false;
$message = "Error while uploading";
}
}
else
{
$success = false;
$message = "Required Field Missing";
}
$response["success"] = $success;
$response["message"] = $message;
echo json_encode($response);
?>
当我尝试使用Postman
上传文件时出现错误
Warning: move_uploaded_file(uploads/Arshay.png): failed to open stream: No such file or directory in /home/my_domain/public_html/android_api/dum_cv.php on line 9
Warning: move_uploaded_file(): Unable to move '/tmp/phpFPW9sg' to 'uploads/Arshay.png' in /home/my_domain/public_html/android_api/dum_cv.php on line 9
{"success":false,"message":"Error while uploading"}
如何解决此问题
答案 0 :(得分:0)
试试这个$target_file_name = $_SERVER['DOCUMENT_ROOT'].'/'.basename($_FILES["file"]["name"]);
答案 1 :(得分:0)
似乎$target_dir
不存在。
在移动文件之前检查目标目录。
if (!is_dir($target_dir)) {
if (!mkdir($target_dir, 0777, true)) {
exit(json_encode(['success'=>false, 'message'=>'failed to create target directory']));
}
}