今天研究了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);
?>
-------------------------------------------------------------------------
沒有留言:
張貼留言