2015-09-04 36 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