我有一個用戶上載文件的小表單。我想要做的就是直接從tmp位置通過電子郵件發送文件,而不必先移動文件;因爲不需要將其存儲在服務器上。由於PHP在腳本執行後從tmp文件夾中刪除文件,這將是理想的。直接從tmp位置使用上傳的文件
我使用曼努埃爾·萊莫斯的奇妙Mime message e-mail class,並能做到這一點:
$tmp_file = '/www/vhosts/mysite.be/subdomains/subdomainname/httpdocs'.$_FILES['attachment']['tmp_name'];
$attachment=array(
"FileName" => $_FILES['attachment']['name'],
"Content-Type" => $_FILES['attachment']['type'],
"Data" => $tmp_file,
"Disposition" => "attachment"
);
$email_message->AddFilePart($attachment);
的問題是,我似乎無法檢索它的TMP位置的文件。我在共享主機系統上。
任何人都可以分享觀點/答案嗎?期待您的意見。
P.S:請注意,有上傳限制/超時/加密類型沒問題......
您是否嘗試過驗證是否存在與上傳文件相關的問題?例如通過記錄'is_readable()'? –
非常感謝。該文件應該是可讀的(根據is_readable())。問題是,腳本告訴我:「無法打開部分文件」 – maartenmachiels
我修改了像'FileName「=> $ _FILES ['attachment'] ['tmp_name']'這樣的腳本,現在它可以工作,問題在於它現在發送名稱爲「glkjmlksjf」的文件,並且沒有任何擴展。任何方式來解決這個問題? – maartenmachiels