我有一个表格可以很好地发送图像,复制它们并调整它们的大小。
我使用 GeoTrust 证书在 SSL 中切换了网站。除文件上传外,一切正常。
表格是这样的:
<form name='sendAvatar' method='post' action='if_avatar_resize.php' enctype='multipart/form-data' target="If_avatar_resize">
因此,我将文件上传到具有以下代码的 iframe 中:
if (!copy($_FILES['file_image']["tmp_name"], $dest_file)) {
echo $_FILES['file_image']["tmp_name"]."The copy of the file failed..\n".$dest_file ;
} else {
echo $_FILES['file_image']["tmp_name"]."Copy of the file OK " ;
}
上传完全相同的文件,当网站在 HTTPS 中时,我一直有错误消息“文件的副本失败”
所以我检查了目录 /tmp 以查看文件是否已上传:
没有 SSL:
-sh-3.2$ ll phpW7XSL6
-rw------- 1 apache apache 2279079 Jan 26 00:52 phpW7XSL6
-sh-3.2$ ll phpW7XSL6
ls: phpW7XSL6: No such file or directory
使用 SSL:
-sh-3.2$ ll phpbcUxyG
-rw------- 1 apache apache 2160218 Jan 26 00:53 phpbcUxyG
-sh-3.2$ ll phpbcUxyG
ls: phpbcUxyG: No such file or directory
因此,无论格式是否为 HTTPS,文件的上传都可以正常工作,并且文件上传到 /tmp
另一方面,如果文件以 HTTPS 上传,则文件的副本不起作用。
有谁知道为什么?