ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Искажение изображений при POST multipart/form-data
  #1  
Старый 01.06.2010, 20:09
Аватар для FindeR
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию Искажение изображений при POST multipart/form-data

Писал пост в "вопросы по PHP", но вопрос быстро затерялся, так и не ответили. Сам в итоге так и не разобрался, поэтому создаю тему.

Помогите разобраться.
Была проблема с загрузкой постом файлов на сервак.
Накидал вот такой скрипт для теста (кинул в папку с правами 777).

PHP код:
<?php
if (empty($_FILES["img_file"]["name"])) {
?>
<form action="index.php" method="POST" enctype="multipart/form-data">
img: <input type="file" name="img_file" />
<input type="submit" value="Загрузить" />
</form>
<?php
}
else {

$imageinfo getimagesize($_FILES['img_file']['tmp_name']);
 if(
$imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/png'
{
echo 
'<span style="font-size:13px;">Ошибка загрузки изображения.</span>';
}

else
{
move_uploaded_file($_FILES["img_file"]["tmp_name"], $_FILES["img_file"]["name"]);

echo 
'<img src="'.$_FILES["img_file"]["name"].'" />';
}
}
?>
На денвере всё замечательно. Загружаются jpg,gif,png.

А вот при заливке на хостинг начинаются проблемы.

1) При попытке загрузки jpg/jpeg вываливает "Ошибка загрузки изображения". Причём, $_FILES['img_file']['tmp_name'] не пуст! А вот getimagesize от него уже не берётся - пусто. Правда, догадываюсь, что это связано со вторым вопросом

2) При загрузке оставшихся png и gif он их загружает, отрабатывается move_uploaded_file (файл появляется в папке), но вот потом нифига не отображается. В мозиллке отображается иконка повреждённого файла, в IE крестик...Если слить с сервера файл - не открывается уже. Откуда берётся эта "обработка" файла?
 
Ответить с цитированием

  #2  
Старый 01.06.2010, 20:32
Аватар для SHiNiGaMi
SHiNiGaMi
Познающий
Регистрация: 03.01.2010
Сообщений: 42
Провел на форуме:
162143

Репутация: 3
По умолчанию

Я же тебе ответил как я решил проблему... Я короче все в GIF переделывал и не парился.

Накрайняк попробуй открыть как бинарник и в каждой строке \r\n заменить на \n. Бред, но попробовать чисто ради интереса надо

Последний раз редактировалось SHiNiGaMi; 01.06.2010 в 20:35..
 
Ответить с цитированием

  #3  
Старый 01.06.2010, 21:02
Аватар для FindeR
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

SHiNiGaMi, cорри, забыл там ответить.

Если ты имеешь в виду переделывать программно, скриптом - то не катит, т.к. он не воспринимает jpg, как картинку, в принципе.
Это одна из причин. Вторая - 256 цветов ну никак не хватает

Ну и третья - gif'ы тоже не загружаются нормально. Я ж говорю, gif и png "портятся", jpg вообще не воспринимаются...

Сравнил файлы сейчас.
При заливке на сервак символы заменены на пробелы. Как это лечить?

upd: символ 00 заменяется везде на 20
Как вернуть 00 на родину?..

Последний раз редактировалось FindeR; 01.06.2010 в 21:20..
 
Ответить с цитированием

  #4  
Старый 01.06.2010, 21:29
Аватар для Chaak
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

с 00 ты уверен ?
 
Ответить с цитированием

  #5  
Старый 01.06.2010, 21:32
Аватар для FindeR
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

Открыл hex-редактором, посмотрел оба файла. Отличаются только этим. Вместо 00 (NUL) везде 20 (пробел)

Последний раз редактировалось FindeR; 01.06.2010 в 21:34..
 
Ответить с цитированием

  #6  
Старый 01.06.2010, 21:42
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

хм. а как ты заливаешь файлы? в принципе у curl никогда не было проблем с заливкой файлов и никаких особых знаний и мозгоебателсьтв, которые есть в fsockopen, там нету.
 
Ответить с цитированием

  #7  
Старый 01.06.2010, 21:46
Аватар для FindeR
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

GreenBear, в первом посте весь скрипт..

Сначала постом с enctype="multipart/form-data" файл падает на сервак, в tmp.

Потом через move_uploaded_file() кладу его, куда мне нужно. Судя по тому, что неправильно берётся getimagesize, проблема при загрузке постом.

Есть уже готовый проект, который работает отлично на masterhost'e, сейчас вот залил на хостинг от nic.ru - такая байда.

Последний раз редактировалось FindeR; 01.06.2010 в 21:49..
 
Ответить с цитированием

  #8  
Старый 01.06.2010, 21:54
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

стало быть проблема в хостинге.
 
Ответить с цитированием

  #9  
Старый 01.06.2010, 22:01
Аватар для FindeR
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

Так увлёкся поиском косяков в своём проекте, что забыл о настройках хостинга.
Выключил charset_module, всё стало на свои места
Всем спасибо, тему можно прикрыть.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват Gsm пакетов SNIFF Сотовый фрикинг 16 27.12.2009 22:25
статья к вопросу о сканировании Sim карт silveran Сотовый фрикинг 1 15.04.2006 17:56
Как «растянуть» аккумулятор novichok Сотовый фрикинг 4 28.02.2006 22:47
химия своими руками silveran Болталка 43 11.01.2006 22:05



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ