2012-03-27 3 views
0

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

Форма:

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

Форма Handler:

<?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!» ошибка.

+0

Может быть, они загружают png, gif, bmp? – itachi

+0

Нет, не работает специально для jpg. – user1142872

ответ

0

Даже если ваш код настроен на прием изображений до 4MB, вы должны сказать 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'); 
} 
+0

Тот факт, что они не могут загрузить изображение любого размера (даже не 40kb img), говорит мне, что это не могут быть настройки php.ini. У меня установлены настройки php.ini, чтобы разрешить 1024M. Я считаю, что это максимум? Не повезло. – user1142872

+0

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

+0

Другое странное, что я могу загрузить то же самое изображение, которое они не могут. – user1142872

0

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

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

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

+0

Изменил его до 40, и теперь мой коллега проверяет его. – user1142872

+0

Нет. Это просто тайна, я полагаю ... – user1142872

+0

Я тоже сталкивался с тем же вопросом. Я также изменил memory_limit и max_input_time. Я тестирую сейчас, чтобы понять, исправлено ли это что-либо. –

Смежные вопросы