dlinyj
@dlinyj

PHP загрузка файла на сервер с мобильного телефона?

Встала задача загрузки файлов на сервер. До этого момента я вообще веб-программированием не занимался, поэтому взял готовый пример с сайта. Немного поправив его под свои задачи. Ниже приведён пример кода с сайта, у меня почти такой же
?
$max_image_width	= 1280;
$max_image_height	= 1024;
$max_image_size		= 4*1024*1024;
$valid_types 		=  array("gif","jpg", "png", "jpeg");

if (isset($_FILES["userfile"])) {
	if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
		$filename = $_FILES['userfile']['tmp_name'];
		$ext = substr($_FILES['userfile']['name'], 
			1 + strrpos($_FILES['userfile']['name'], "."));
		if (filesize($filename) > $max_image_size) {
			echo 'Error: File size > 64K.';
		} elseif (!in_array($ext, $valid_types)) {
			echo 'Error: Invalid file type.';
		} else {
 			$size = GetImageSize($filename);
 			if (($size) && ($size[0] < $max_image_width) 
				&& ($size[1] < $max_image_height)) {
				if (@move_uploaded_file($filename, "/www/htdocs/upload/")) {
					echo 'File successful uploaded.';
				} else {
					echo 'Error: moving fie failed.';
				}
			} else {
				echo 'Error: invalid image properties.';
			}
		}
	} else {
		echo "Error: empty file.";
	}
} else {
...
}
?>


Код отлично работает. Но проблемы возникают при попытки загрузить этим кодом картинки с телефона, или картинки снятые телефоном (т.е. если грузить её с компьютера). Проверенно на нескольких устройствах.
Вываливается всё в первой проверке, и сервер даёт ошибку:

Error: empty file.


Пример такого вот изображения, не проходящего проверку вот

Что я делаю не так, и как решить эту проблему?
  • Вопрос задан
  • 487 просмотров
Решения вопроса 1
@ynblpb_spb
дятел php
дело в настройках веб-сервера скорее всего, а конкретно, в дефолтных величинах на загрузку файлов в php
вот тут написан ответ на ваш вопрос:
stackoverflow.com/a/6135485/5628695
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы