上传后将文件移动到特定文件夹中?

时间:2019-01-15 02:36:16

标签: php html

我在这里有一个小问题,可能是由错字引起的。我已经尝试使这段代码工作两个小时了……

我基本上想做的事:

  • 用户导航到/Home/文件夹
  • 他选择并上传文件
  • 单击提交时,用户不知不觉地将包含/Home/值(用户当前所在的文件夹)的POST请求传递到PHP脚本。
  • 该脚本执行了一些怪异的魔术咒语,并将上传的文件传输到/ Home/。

最后一个不可思议的部分是使我烦恼的部分。如果我未指定文件夹名称,则文件会上传并存储在脚本的文件夹中,不要误解我的意思。可悲的是,如果我这样做了,脚本会向我抛出错误,提示我“无法将相关文件移动到/ Home /。” (我的疑难解答部分带有注释“ BUGGY PART”)

<?php
$source = $_FILES["file-upload"]["tmp_name"];
$uplace = $_POST['place'];
$destination = $_FILES["file-upload"]["name"];
$error = "";

// CHECK IF FILE ALREADY EXIST
if (file_exists($destination)) {
  $error = "<h1>Erreur</h1><br><p>Le fichier ".$destination." existe déja.";
}

// BUGGY PART
if ($error == "") {
  if (!move_uploaded_file($source, "/Home/" . "$destination")) {
    $error = "<h1>Erreur</h1><br><p>Impossible de bouger le fichier $source vers ".$destination."</p>";
  }
}

// ERROR OR OK?
if ($error == "") {
	echo "<h1>Upload complété.</h1>"; 
	echo "<p>Informations du fichier uploadé:</p>";
	echo "<ul>";
	echo "<li>Nom: ".pathinfo($destination)['filename']."</li>";
	echo "<li>Format: ".pathinfo($destination)['extension']."</li>";
	echo "<li>Taille: ".formatSizeUnits(filesize($destination))."</li>";
	echo "<li>Storé sur: ".$uplace."</li>";
	echo "</ul>";
	}
else { echo $error; }

如何将新上传的文件从临时文件夹移动到/ Home /?

(仅供参考:

该脚本位于:/Home/RESSOURCES/upload.php

我想将文件上传到:/ Home /

我的所有文件夹都递归更改为777。 )

干杯。

0 个答案:

没有答案