【发布时间】:2020-02-27 14:02:59
【问题描述】:
最近,我一直在处理上传表单。这个想法是用户可以将他们的文件上传到远程 FTP 服务器。但是,它没有按预期工作。
在我开始上传文件之前,我收到以下错误:“无法将上传的文件移动到工作目录”。同样,我还没有开始上传文件。
这是我的 PHP 代码:
<?php
//FTP variabelen met de values
$host = "radioprogrammabank.nl";
$user = "***";
$pass = "***";
//location I want to send the uploaded file to (it is remote)
$destDir = "/domains/radioprogrammabank.nl/public_html/wp/wp-content/uploads";
$dehost = $_POST[$host];
$deuser = $_POST[$user];
$depass = $_POST[$pass];
$dedestDir = $_POST[$destDir];
$workDir = "\Users\stagiaire01\Uploads"; // definieer het lokale systeem
// get temporary file name for the uploaded file
$tmpName = basename($_FILES['file']['tmp_name']);
// copy uploaded file into the current directory
move_uploaded_file($_FILES['file']['tmp_name'], $workDir."/".$tmpName) or die('Cannot move uploaded file to working directory');
// maak connectie, als het niet werkt. Die en geef een melding
$conn = ftp_connect($host) or die ("Cannot initiate connection to host");
// send access parameters
ftp_login($conn, $user, $pass) or die("Cannot login");
// Voer de file upload uit
$upload = ftp_put($conn, $destDir."/".$_FILES['file']['name'], $workDir."/".$tmpName, FTP_BINARY);
// check upload status
// display message
if (!$upload) {
echo "Upload mislukt";
} else {
echo "Upload geslaagd";
}
// sluit de FTP connectie
ftp_close($conn);
// verwijder de lokale kopie van het bestand
unlink($workDir."/".$tmpName) or die("Cannot delete uploaded file from working directory -- manual deletion recommended");
?>
我的 HTML 代码:
<html>
<body>
<h2>U kunt hier uw album uploaden</h2>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
File <br />
<input type="file" name="file" /><p />
<input type="submit" name="submit" value="Upload Album" />
</form>
</body>
[xyz-ips snippet="verbindftp"]
</html>
您可能想知道为什么我的 HTML 中有一个短代码。代码是用 Wordpress 编写的。我使用一个可以编写 PHP 的插件。该代码在编写此简码时有效。
我也试过做一个 $_FILES 的 var_dump 告诉我以下内容:
"array(0) { } Upload misluktCannot delete uploaded file from working directory -- manual deletion recommended"
我不知道为什么在执行 var_dump 时会收到此消息。我在上面的值中设置了我的主机、用户名、密码和方向。由于安全原因,密码和用户名没有显示。
我在 * 上找不到这个问题的任何答案。但是,我确实希望我为您提供了足够的信息来帮助我。我希望能够将文件上传到远程 FTP 服务器。
您好,
Parsa_237
【问题讨论】:
-
不,我没有。我现在就读。但是,由于我在 Wordpress 工作,所以我觉得我很有限,必须在这个项目上做更多的工作(不是我个人的选择哈哈)
-
没有unlink()你试过了吗
-
不,我将删除该行并给您结果。虽然它甚至不应该给出这个错误。因为我还没有上传文件。当我在代码周围添加 if(isset($_POST["button"])) 时,我根本没有得到任何结果。
-
我认为 $workDir 有问题尝试使用 /