最近我一直在運行響應式文件管理器,無論是在本地機器上還是在託管服務器上,儘管代碼相同,它們仍然收到不同的問題。這些問題都與文件上傳有關 - 目前測試的文件都只有JPEG文件,其中大於2 MB的JPEG文件無法上傳。響應式文件管理器上傳問題
共享問題:
對於本地機器&託管服務器,如果上傳的圖片超過8MB,然後我收到以下錯誤信息:
The uploaded file exceeeds the max size allowed.
本地機器的問題:
僅針對本地機器,如果上傳的圖像很棒呃超過2MB但比8MB少,我收到以下錯誤信息:
Warning: mime_content_type(): Empty filename or path in C:\xampp\htdocs\project\webroot\3rdparty\responsive file manager\filemanager\upload.php on line 92.
其中線92指的是這個特定行一組if語句中:
if (! empty($_FILES) || isset($_POST['url']))
{
if(isset($_POST['url'])){
$temp = tempnam('/tmp','RF');
$handle = fopen($temp, "w");
fwrite($handle, file_get_contents($_POST['url']));
fclose($handle);
$_FILES['file']= array(
'name' => basename($_POST['url']),
'tmp_name' => $temp,
'size' => filesize($temp),
'type' => explode(".", strtolower($temp))
);
}
$info = pathinfo($_FILES['file']['name']);
$mime_type = $_FILES['file']['type'];
if (function_exists('mime_content_type')){
$mime_type = mime_content_type($_FILES['file']['tmp_name']); //line 92
}
}
我也收到此錯誤還有:
File extension is not allowed. (@C:\xampp\htdocs\project\webroot\3rdparty\responsive file manager\filemanager\upload.php#260)
這是指如果此集合聲明:
個if (! empty($_FILES) || isset($_POST['url']))
{
else // file ext. is not in the allowed list
{
response(trans("Error_extension").AddErrorLocation(), 406)->send(); //line 260
exit();
}
}
服務器問題:
Not enough Memory
(@/home/site/public_html/webroot/3rdparty/responsive file manager/filemanager.upload.php#241)
這是指如果此集合聲明:
if (! empty($_FILES) || isset($_POST['url']))
{
if (in_array(fix_strtolower($extension), $ext))
{
if ($is_img)
{
$memory_error = FALSE;
if ($extension != 'svg' && !create_img($targetFile, $targetFileThumb, 122, 91))
{
$memory_error = TRUE;
}
// not enough memory
if ($memory_error)
{
unlink($targetFile);
response(trans("Not enought Memory").AddErrorLocation(), 406)->send(); //line 241
exit();
}
}
}
}
在服務器上,這兩個問題都通過這個單一的錯誤取代
到目前爲止的嘗試次數:
我看以下內容:
- 與本地機器上的文件擴展名的問題,我查了允許的文件擴展名的config.php文件,但JPEG兩種格式都已經在那裏:
'ext_img' => array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg'), //Images
與此同時,在包括\ mime_type_lib.php,JPEG兩種格式已經在那裏:
$mime_types = array(
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
)
- 在我的本地機器上,我將
upload_max_filesize
增加到了128M。同時在服務器上,我使用cPanel的PHP設置來做同樣的事情。另外在配置中。PHP文件,我改變了MaxSizeUpload設置如下符合上述變化:
'MaxSizeUpload' => 128,
- 我也對證的config.php文件的最新版本和upload.php的,看看我的版本已經過時了,但事實並非如此。
的tempnam'( '/ TMP', 'RF')'生成像模板文件:'因此/ TMP/RF123.tmp'起作用'mime_content_type'不能確定MIME類型...對於服務器問題,我們不知道哪些功能fillup變量'$ memory_error' – Kazz
'mime_content_type($ _ FILES ['file'] ['tmp_name']);'是錯誤的,因爲'tmp_name'是沒有擴展名的文件如果我改變'mime_content_type($ _ FILES ['file'] ['tmp_name']),那麼你應該檢查'name'而不是'explode(「。」,strtolower($ temp))''返回一個不是字符串的數組 – Kazz
;'''mime_content_type($ _ FILES ['file'] ['name']);',我得到這個錯誤:'mime_content_t ype(testimage.JPG):無法打開流:在第92行中的C:\ xampp \ htdocs \ project \ webroot \ 3rdparty \ responsive file manager \ filemanager \ upload.php中沒有這樣的文件或目錄,而文件擴展名是不允許錯誤仍然存在。我剛剛添加到我的問題帖子,其中'$ memory_error'來自服務器問題。 – mistaq