将prestashop从我的localhost上传到服务器后,出现了问题 尝试上传产品图片时,我收到此错误“服务器文件大小与本地文件大小不同”
在prestashop文件中搜索后,我发现uploader类负责上传过程。
public function upload($file, $dest = null)
{
if ($this->validate($file))
{
if (isset($dest) && is_dir($dest))
$file_path = $dest;
else
$file_path = $this->getFilePath(isset($dest) ? $dest : $file['name']);
if ($file['tmp_name'] && is_uploaded_file($file['tmp_name'] ))
move_uploaded_file($file['tmp_name'] , $file_path);
else
// Non-multipart uploads (PUT method support)
file_put_contents($file_path, fopen('php://input', 'r'));
$file_size = $this->_getFileSize($file_path, true);
if ($file_size === $file['size'])
{
$file['save_path'] = $file_path;
}
else
{
$file['size'] = $file_size;
unlink($file_path);
$file['error'] = Tools::displayError('Server file size is different from local file size');
}
}
return $file;
}
当评论if语句负责比较文件大小和tring上传图像时我得到了这个错误
“复制图像时出错,文件不再存在。”
我将img文件夹权限更改为777仍然是同样的问题?
答案 0 :(得分:0)
这是一个许可问题。我通过对缓存和主题文件夹提供完全访问权限(777)解决了这个问题。
如果这没有帮助,那么尝试完全访问所有文件。出于安全原因,请务必将文件夹的权限更改为755,将文件的权限更改为644。
答案 1 :(得分:-1)
请更改" if($ file_size === $ file [' size'])"到" if($ file_size = $ file [' size'])"
这种方法适合我。