i've been running responsive file manager recently, both on local machine hosted server , have received different issues each, despite code being same. these issues related uploading of files - tested files have been jpeg files, jpeg files larger 2 mb not able uploaded.
shared issues:
for both local machine & hosted server, if uploaded image exceeds 8mb, receive following error message:
the uploaded file exceeeds max size allowed.
local machine issues:
for local machine only, if uploaded image greater 2mb less 8mb, receive following error message:
warning: mime_content_type(): empty filename or path in c:\xampp\htdocs\project\webroot\3rdparty\responsive file manager\filemanager\upload.php on line 92.
where line 92 refers specific line within set of if statements:
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 } } i receive error well:
file extension not allowed. (@c:\xampp\htdocs\project\webroot\3rdparty\responsive file manager\filemanager\upload.php#260) which refers set of if statements:
if ( ! empty($_files) || isset($_post['url'])) { else // file ext. not in allowed list { response(trans("error_extension").adderrorlocation(), 406)->send(); //line 260 exit(); } } server issues:
on server, 2 issues replaced single error:
not enough memory (@/home/site/public_html/webroot/3rdparty/responsive file manager/filemanager.upload.php#241) which refers set of if statements:
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(); } } } } attempts far:
i've looked @ following:
- with file extensions issue on local machine, checked allowed file extensions in config.php file, both formats of jpeg there:
'ext_img' => array( 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg' ), //images
meanwhile in include\mime_type_lib.php, both formats of jpeg there:
$mime_types = array( 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', ) - on local machine, increased
upload_max_filesize128m. meanwhile on server, used cpanel's php settings same thing. additionally in config.php file, changed maxsizeupload setting match above changes follows:
'maxsizeupload' => 128,
- i did check against latest version of config.php , upload.php see if versions outdated, wasn't case.
try this:
if ( ! empty($_files) || isset($_post['url'])) { if(isset($_post['url'])){ if(false === ($temp = tempnam('/tmp','rf'))){ response(trans("failed create temporary file").adderrorlocation(), 406)->send(); exit(); } $handle = fopen($temp, "w"); fwrite($handle, file_get_contents($_post['url'])); fclose($handle); $explurl = explode(".", basename($_post['url'])); $suffix = array_pop($explurl); $_files['file']= array( 'name' => basename($_post['url']), 'tmp_name' => $temp, 'size' => filesize($temp), // type should mime-type not file suffix 'type' => $suffix, 'error' => upload_err_ok ); } if($_files['file']['error'] !== upload_err_ok){ response(trans("error upload code: ".$_files['file']['error']).adderrorlocation(), 406)->send(); // error code list: http://php.net/manual/en/features.file-upload.errors.php exit(); } if(empty($_files['file']['tmp_name'])){ response(trans("error upload").adderrorlocation(), 406)->send(); exit(); } $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']); } }
How to fix it??
ReplyDelete