2013年7月4日 星期四

2013 / 07 / 04 PHP檔案上傳(FTP)


今天研究了PHP的FTP上傳,發現原來upload不是想像中的easy,還有檔名的控制 ... mmm
參考了這個網站的程式碼,自己成功測試了一個Upload File

來源:webTeach 網頁設計教學站
http://www.webtech.tw/code.php?codenumber=20110123215509





/*
$_FILES["file"]["name"]:上傳檔案的原始名稱。
$_FILES["file"]["type"]:上傳的檔案類型。
$_FILES["file"]["size"]:上傳的檔案原始大小。
$_FILES["file"]["tmp_name"]:上傳檔案後的暫存資料夾位置。
$_FILES["file"]["error"]:如果檔案上傳有錯誤,可以顯示錯誤代碼。
*/

自己參考後編寫的Code
-------------------------------------------------------------------------
<?
//建立FTP連線 / 登入帳號密碼 / 啟用被動FTP
 $conn = ftp_connect($ftp_host,21, 60) or die("Connect FTP Server Fail"); 
    ftp_login($conn, $ftp_ac, $ftp_pw);
ftp_pasv($conn, true);
?>



<form method="post" enctype="multipart/form-data" action="<?=$PHP_SELF?>">
檔案名稱:<input type="file" name="file"/><br />
<input type="submit" name="submit" value="上傳檔案" />
</form>


<?
//FTP上傳
if(ftp_put($conn,$filename,$PNG_TEMP_DIR,FTP_ASCII)) {
if(file_exists("upload/".$_FILES["file"]["name"])) //判斷是否已有相同檔名的檔案在線上
{
echo "已有相同檔案存在。";
}else{
move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]); //將檔案從暫傳區移至FTP儲存
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
 echo "Upload OK";
}
} else {
  echo "Fail";
}


//關閉連線
ftp_close($conn);

?>

-------------------------------------------------------------------------

沒有留言:

張貼留言