PHP+MySQL : error move_uploaded_file() unable to move

标签 php mysql image file-upload image-upload

我被困在一个地方,我有一个文件上传 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 小时前没有发现我的错误。

UPDATE 使用 $target_dir = getcwd(); 修改此开始工作但未放置正确的文件夹,如果我更改 url,我会遇到同样的问题。我需要在 getcwd() 之后附加/views/site/image url 但当然它对我不起作用:$target_dir = getcwd()."views/site/image";

最佳答案

getcwd() 返回您当前的工作目录。如果向其中添加 views/site/image,您将获得页面所在的文件夹 + 您期望的路径。最后还需要一个斜杠,例如 views/site/image。如果您的页面不在根文件夹中并且假设这是您当前的情况是相当安全的,例如,这是一个名为 foo/bar 的页面,那么您的文件将被尝试上传进入 foo 文件夹,但是,您的 views 文件夹可能位于您的网络根目录中。所以你需要定义相对于根的位置,像这样:dirname(__FILE__)."views/site/image/".$yourfilename。确保您拥有路径中所有文件夹的必要权限。

关于PHP+MySQL : error move_uploaded_file() unable to move,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43424284/

相关文章:

php - MVC : Should the view always receive arrays instead of objects?

mysql - sql 查询 group by 带聚合

css - 图像没有出现在 div 中?是因为 CSS 吗?

PHP测试远程MySQL服务器是否可用

php - 如何快速从json数据中获取特定值

mysql - 如何在没有完全权限的情况下传输 MySQL 数据库?

image - matplotlib imshow():如何制作动画?

html - 添加链接到带有背景图片、标题和类别的 div

php - 如何使用 Google Docs for Mailer 模板?

php - 使用类似 mysql 的查询使用小写或大写获取数据?