【发布时间】:2024-01-16 09:24:01
【问题描述】:
我再次需要专家的一些非常感谢的帮助 :) 我正在尝试使用 PHP 的 FTP 函数通过 Web 表单将文件上传到服务器,我花了一天时间在谷歌上搜索一个简单的教程,但大多数人似乎期望对这个过程有一定程度的理解。所以,我找到了一个我相信可以为我完成这项工作的示例,但坦率地说,我不明白如何编造 ftp 路径?
这是完整的脚本(我在 Tech Republic 上找到的)
<?
// get FTP accessparameters
$host = "<URL of site>";
$user = "user@<URL of site>";
$pass = "<PASSWORD>";
$destDir= "www/uploads/files/";
$workDir= "/usr/local/temp"; // define this as perlocal system
// get temporary file namefor the uploaded file
$tmpName= basename($_FILES['ufile']['tmp_name']);
// copy uploaded file intocurrent directory
move_uploaded_file($_FILES['ufile']['tmp_name'], $workDir."/".$tmpName) or die("Cannot move uploaded file toworking directory");
// open connection
$conn= ftp_connect($host) or die ("Cannot initiate connection tohost");
// send access parameters
ftp_login($conn,$user, $pass) or die("Cannot login");
// perform file upload
$upload = ftp_put($conn, $destDir."/".$_FILES['ufile']['name'], $workDir."/".$tmpName, FTP_BINARY);
// check upload status
// display message
if (!$upload) {
echo "Cannotupload";
} else {
echo "Uploadcomplete";
}
// close the FTP stream
ftp_close($conn);
// delete local copy ofuploaded file
unlink($workDir."/".$tmpName) or die("Cannot delete uploaded filefrom working directory -- manual deletion recommended");
?>
目前它因“无法将上传的文件移动到工作目录”而失败 - 所以我假设路径不正确。 当这个特定用户通过 ftp 连接时,他们的主目录是“文件”。
感谢您的建议。
在下面回答
我有它的工作。 因为用户的主目录是“files”,所以要求在这个目录中还有两个名为“file”和“temp”的目录 我将上面的代码更改为:-
$destDir= "files";
$workDir= "temp";
并找到了一个 ftp 连接字符串的示例,可以从该示例向后工作,以便代码生成正确的格式。 当你知道怎么做时很容易!
【问题讨论】: