我有一个小表单,用户上传文件。我想要做的是直接从其tmp位置通过电子邮件发送文件,而不先移动它;因为没有必要将它存储在服务器上。因为PHP在执行脚本后从tmp文件夹中删除了文件,所以这是理想的。
我正在使用Manuel Lemos的精彩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。:请注意上传限制/超时/ enctype没有问题......
答案 0 :(得分:1)
您不需要放置$tmp_file
的目录,因为tmp_name已包含此目录。还要检查文件是否存在,以便对其进行调试。
$tmp_file = $_FILES['attachment']['tmp_name'];
if (file_exists($tmp_file)) {
echo "yay";
}
else {
echo "nay :-(";
}
看看之后会发生什么。