所以我试图使FTP PHP上传我的本地主机设置与xampp。它可以很好地从C:'xampp'htdocs'上传文件,但如果我试图从我的桌面上传文件,它不会工作。有没有办法得到"源"文件的路径,这样我就可以从其他地方上传,而不是…'htdocs'或我如何解决这个问题?
文件上传到我桌面的ftp文件夹,正如我说的,当你从C:'xampp'htdocs中选择一个文件时,效果很好。
<?php
if($_POST){
$source = basename($_FILES["source"]["name"]);
$fileType = pathinfo($source, PATHINFO_EXTENSION);
$remote_file = $source;
$ftp_server = '127.0.0.1';
$ftp_user_name = 'xxx';
$ftp_user_pass = 'xxx';
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $source, FTP_ASCII)) {
echo "successfully uploaded $source'n";
} else {
echo "There was a problem while uploading $source'n";
}
ftp_close($conn_id);
}
?>
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" id="source" name="source"></input><br>
<input type="submit" value="Upload file" name="submit" id="submit"></input><br>
</form>
</body>
</html>
您在使用name
。要访问上传的文件,您需要使用tmp_name
。修改$source = basename($_FILES["source"]["name"]);
为$source = basename($_FILES["source"]["tmp_name"]);