我有一个名为'templates‘的文件夹,它是CHMOD 777,由htpasswd保护。这意味着我仍然可以使用PHP上传脚本将文件上传到该文件夹中,而外部人员无法访问这些文件。
我还得到了一个使用phpmailer类的脚本。此脚本发送电子邮件并附加位于该受保护文件夹中的文件。
我的问题是,现在我启用了这种保护,我确实收到了电子邮件,但没有附件。只有在没有htpasswd保护的情况下,我才会收到附件。
你知道我能做什么吗?
发布于 2011-03-25 22:39:55
PHP在has服务器的htpasswd保护范围之外运行-一旦脚本运行,它就可以自由控制文件系统(至少是has服务器的userid/groupid可以接触的内容)。除非您将要附加的文件的路径作为URL提供,否则对该文件的任何操作都将通过正常的文件系统操作,而不是通过does服务器,因此htpasswd保护不会出现在图片中。
如果文件没有被附加,我会检查脚本,看看您是否提供了适当的文件路径,以及see服务器的userid是否具有对该文件的读取权限。
发布于 2011-03-25 22:47:32
确保脚本将附件文件作为文件系统上的路径进行访问,如
/var/www/example.com/httpdocs/uploads/foo.jpg
不是作为URL
http://example.com/uploads/foo.jpg
确认该脚本可以访问该文件
<?php
if(!is_readable($file)) {
$user = get_current_user();
echo 'Error: '.$user.' cannot access '.$file;
exit();
}
?>
https://stackoverflow.com/questions/5433855
复制相似问题