Форма загрузки изображений работает для некоторых, но не для других? - PullRequest
0 голосов
/ 27 марта 2012

У меня есть форма загрузки изображений, которая отлично работает! Для меня ... Кажется, почти все остальные получают ошибку! Как в мире это может быть? (Я знаю, что мое программирование небрежно, я не ищу критику, просто быстрое решение! Пожалуйста, помогите.)

Форма:

<form enctype="multipart/form-data" action="imgupload.php" method="POST">
Image upload:
<input name="uploadedfile" type="file" />
<input type="submit" value="Upload" />
</form>

Обработчик форм:

<?php

if (($_FILES["uploadedfile"]["type"] == "image/jpeg")
&& ($_FILES["uploadedfile"]["size"] < 4000000))
{


  // Where the file is going to be placed 
  $target_path = "/images/";


  /* Add the original filename to our target path.  
  Result is "images/filename.extension" */

//////////RENAME FILE/////////////


$filetype = pathinfo($_FILES['uploadedfile']['name'], PATHINFO_EXTENSION);  
$oldtitle =  $_FILES["uploadedfile"]["name"];
$take_file_extension = substr($oldtitle, 0, strrpos($oldtitle, '.'));
$title = "jeep_".$take_file_extension.".".$filetype;


  $target_path = $target_path . $title;


if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {

  echo "The picture ".  basename( $_FILES['uploadedfile']['name']). 
  " has been uploaded<br><br>----------------<br><br>";

  echo "Upload: " . $_FILES["uploadedfile"]["name"] . "<br>";
  echo "Size: " . ($_FILES["uploadedfile"]["size"] / 1024) . " Kb<br>";

    }
}



else
{
    echo "There is a file size limit of 1MB. Only JPG's can be uploaded!";
}
?>

Работает для меня каждый раз, все остальные получают: «Размер файла ограничен 1 МБ. Можно загружать только JPG!» ошибка.

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Мне интересно, если это ваш max_execution_time в php.ini. Попробуйте перейти на уровень выше 30.

http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time

Более медленные (с меньшей пропускной способностью) соединения могут занимать больше времени для загрузки больших изображений, что приводит к ошибке, ваше соединение может быть быстрее.

0 голосов
/ 27 марта 2012

Даже если ваш код настроен на прием изображений размером до 4 МБ, вы должны указать PHP разрешить изображения такого размера, отредактировав значение нескольких настроек php.ini:

А причина, по которой вы можете загружать только изображения .jpg, заключается в том, что ваша условная версия ограничена .jpg:

if (($_FILES["uploadedfile"]["type"] == "image/jpeg")

Попробуйте переключатель:

switch ($_FILES["uploadedfile"]["type"]) {

    case 'image/jpeg':
    case 'image/png':
        break;

    default:
        throw new Exception('Invalid image type');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...