Помогите решить проблему с получением файлов через file_get_contents("php://input");

Jarhead

Постоялец
Регистрация
17 Июн 2011
Сообщения
414
Реакции
169
Здравствуйте,

Есть цикл в jquery и в зависимости от кол-ва файлов в форме вызывается в php функция, в которой через file_get_contents("php://input") получается файл. Не спрашивайте почему именно так файлы получаю, а не через $_FILES, если кратко то тут отправка файлов через ajax при версии jquery 1.4.4....

Код:
$file = file_get_contents("php://input");

В общем если один файл получаю то у меня все ок, а вот каждый последующий файл суммируется с предыдущем файлом...т.е. второй файл идет совмещенный с первой и второй картинкой..

Заголовки файлов там идут вот такие:


------WebKitFormBoundaryUlEo3dowMxynW6Ph
Content-Disposition: form-data; name="0"; filename="5374503037_440eaf6a41.jpg"
Content-Type: image/jpeg

И у второй картинки к примеру:


------WebKitFormBoundaryUlEo3dowMxynW6Ph
Content-Disposition: form-data; name="1"; filename="a1.jpg"
Content-Type: image/jpeg

Я пробовал делать unset после выполнения функции, но это не помогает...как мне очищать php://input после получения первой фотки?
 
php://input - это необработанные данные переданные в текущем запросе вызываемому срипту.
Каждая новая картинка по классической схеме дергает скрипт заново. При этом всё, что передано было в предыдущих вызовах к этому моменту уже обнулилось.

Та картина, которую вы описываете больше похожа на передачу двух файлов в одном запросе.
Проверьте через консоль браузера -> network что именно передаётся и по какому протоколу.
 
php://input это ПОТОК только для чтения поэтому unset и не работает.
Но у вас проблема с js скриптом - он просто отправляет одновременно 2 файла на одно обращение к php.
 
Назад
Сверху