【发布时间】:2015-03-15 08:58:39
【问题描述】:
我正在尝试将使用 phpmailer 上传的文件的链接存储在我的 MySQL 数据库中,以便当网页调用记录时,用户可以下载文件。
在添加锚标记之前,我的文件已按我的意愿附加。现在他们不再附加到电子邮件中,只有文件名进入数据库。我错过了一些简单的东西吗?
$mail->AddAttachment("<a href='/home/company/upload/'>".$_FILES['rfile']['name'][0]."</a>"); // add attachments
$mail->AddAttachment("<a href='/home/company/upload/'>".$_FILES['rfile']['name'][1]."</a>"); // add attachments
【问题讨论】:
-
['name']是文件在客户端原始机器上的任何名称。您需要使用['tmp_name'],这是PHP 将文件放在服务器上的位置。当然,这仍然毫无意义,因为上传临时目录通常位于文档根目录之外的某个位置。您需要显示您的上传处理代码。因为如果您将用户文件直接存储在可公开访问的区域,您的服务器很快就会被丢弃。 -
文件保存在我的 webroot 上面的目录中。并且该文件夹没有执行权限。