繁体   English   中英

PHP + MYSQL:错误move_uploaded_file()无法移动

[英]PHP+MYSQL: error move_uploaded_file() unable to move

我被困在一个地方,我有一个文件上传php文件,但当我想上传图像我有错误调用:
“警告:move_uploaded_file():无法打开流:没有这样的文件或目录..”和
“警告:move_uploaded_file():无法将'C:\\ wamp \\ tmp \\ php7E6D.tmp'移动到'site / images / UBI30_Giveaway_box_CARDS_1.jpg'..”
我的上传php看起来像这样:

//Image datas
$target_dir = "site/images/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Submint button pressed?
if(isset($_POST['submit'])){
  $nev=$_POST['nev'];
  $about=$_POST['about'];
  $image=$_FILES["fileToUpload"]["name"];
  $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);

// Does it image?
      if($check !== false) {
          echo "File is an image - " . $check["mime"] . ".";
          $uploadOk = 1;
      } else {
          echo "File is not an image.";
          $uploadOk = 0;
      }

//Recently the image is uploaded?
      if (file_exists($target_file)) {
      echo "Sajnáljuk, ez már egy feltöltött fájl..";
      $uploadOk = 0;
      }

//If everything okay, upload.
      if ($uploadOk == 0) {
      echo "Sajnáljuk a kép nem került feltöltésre..";
      } else {
          if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
              echo "A ". basename( $_FILES["fileToUpload"]["name"]). " feltöltve.";
          } else {
              echo "Sajnáljuk, hiba történt a kép feltöltése közben.";
          }
      }
  }
// Upload datas to db.
  $stmt = $db->prepare("INSERT INTO `jelolt`(`name`, `about`, `image`) VALUES ('$nev','$about','$image')");
    $stmt->execute();
// A lekérdezés helyes futásának ellenörzése.
      if (!$stmt) {
        print_r($db->errorInfo());
      }  

我希望你们比我聪明,我只是在3小时前找不到我的小虫。

更新 $target_dir = getcwd(); 修改这个开始工作,但没有把正确的文件夹,如果我更改网址,我得到了同样的问题。 我需要在getcwd()之后附加/ views / site / image url,但是对于我来说它不适用于我: $target_dir = getcwd()."views/site/image";

我并不接近我测试它的工具,但从eyelevel来看,似乎你移动了imagesize响应,而不是文件。

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {

应该是:

if (move_uploaded_file($_FILES["fileToUpload"]["name"], $target_file)) {

除了变量混在那里之外,我现在看不到任何其他东西。 您上传的文件似乎是“名称”而不是“tmp_name”。 如果我在我的工作站时没有人提出答案,我将通过测试来运行。

getcwd()返回当前的工作目录。 如果您向其添加iews/site/image ,您将获得页面所在的文件夹+您期望的路径。 你最后还需要一个斜杠,比如views/site/image 如果您的页面不在根文件夹中,并且将此视为当前案例是相当安全的,例如,这是一个名为foo/bar的页面,那么您的文件将尝试上传到foo文件夹中,但是,您的views文件夹可能位于您的Web根目录中。 因此,您需要定义与root相比较的位置,如下所示: dirname(__FILE__)."views/site/image/".$yourfilename 确保您具有路径中所有文件夹的必要权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM