FTP& PHP文件上传器,更改目录

时间:2015-09-04 10:52:10

标签: php file upload ftp directory

所以我试图用xampp在我的localhost设置上制作一个ftp php上传器。 它可以很好地从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>

1 个答案:

答案 0 :(得分:0)

您使用name。要访问上传的文件,您需要使用tmp_name。将$source = basename($_FILES["source"]["name"]);更改为$source = basename($_FILES["source"]["tmp_name"]);