2015-09-04 47 views
0

所以我想在我的本地主机设置与xampp的FTP上传器。 它工作正常,从C:\ xampp \ htdocs \上传文件,但如果我尝试从我的桌面上传文件,它将无法正常工作。有没有办法获得“源”文件的路径,所以我可以从其他地方上传...... \ htdocs \或者我该如何解决这个问题?FTP&PHP文件上传器,改变目录

文件被上传到我的桌面上的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> 

回答

0

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

+0

解决方法:之前我曾尝试过,但是dident将其启动。原因是我有“$ remote_file”= $ source,在从\ htdocs \上传东西之前工作过,但现在我必须改变它。所以你有点解决了我:)欢呼声 – jdoe