簡體   English   中英

無法使用php中的上傳文件邏輯

[英]could not be able to work with upload file logic in php

我有一個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"}

如何解決這個問題

試試這個$target_file_name = $_SERVER['DOCUMENT_ROOT'].'/'.basename($_FILES["file"]["name"]);

似乎$target_dir不存在。

移動文件之前,請檢查目標目錄。

if (!is_dir($target_dir)) {
    if (!mkdir($target_dir, 0777, true)) {
        exit(json_encode(['success'=>false, 'message'=>'failed to create target directory']));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM