newlines в начале переменных?

Prolix

Новичок
newlines в начале переменных?

В общем, трабла такая - при отправлении данных методом POST к каждой переменной дописывается newline в начале!!! Я уже запарился искать, т.к. на моей конфигурации сервера ВСЕ работает... я просто в отчаянии!

Вторая трабла - при закачке файлов не определяется ТИП файла.

В чем может быть проблема?
 

Prolix

Новичок
Тестовый пример там очень обычный - форма multipart/form-data с возможностью закачать файл, и пара полей. Думаю, все с этим имели дело... После 5-ти часов траха я начинаю понимать, что дело как раз в этом multipart/form-data - потому что я попробовал простую форму, там все работает ОК! И еще такой трабл обнаружился - когда закачивается файл (картинка, к примеру), в его начало дописывается какой-то хлам наподобие Content-Type: image/jpeg плюс какие-то тоже newlines, из-за чего не работает ни определение типа картинки, ни функции картинок и проч... Я впервые такое вижу, в чем может быть дело? Как это вылечить?

Охх... :(
 

antonio

Moderator
Команда форума
Может быть дело в русском апаче? Если так, то в поиск по форуму
 

Prolix

Новичок
Неа...
Я тут случайно ходил и наткнулся на эту ветку.

http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=27623

Лажа в Linuxe. Конечно, никто его переинсталлировать не собирается, так что пришлось триммить переменные :(

А с заголовками я так и не понял, в чем дело... Пришлось написать функцию. Если у кого такая же лажа случится, вот она:

function fix_php_upload_bug($tmp) {
$infile=fopen($tmp,"r"); // Open the file for the copy
$outfile=fopen("$tmp.new","w"); // create a new temp file
$header=fgets($infile,255); //get the 1st line (netscape sometimes doesn't add a Content-type line)
//if its more than just a \r\n sequence then
if (strlen($header)>2) $header=fgets($infile,255); //get next line also
while(!feof($infile)) { // Loop through the remaining file
$temp=fread($infile,128);
fwrite($outfile,$temp,strlen($temp)); //copying contents to new temp file
}
fclose($outfile);
fclose($infile);
copy("$tmp.new","$tmp"); //replace the original with our new bug fixed file
unlink("$tmp.new"); //and delete the new file
return filesize($tmp); //return a true file size
}

Спасибо за отклик anyway...
 
Сверху