Форма загрузки на странице такова: Код (Text): <form enctype="multipart/form-data" method="POST"><input type="hidden" name="MAX_FILE_SIZE" value="204800" /> <input type="hidden" name="type" value="group_avatar_image" /><input type="hidden" name="gId" value="103582791431794047" /><input type="hidden" name="doSub" value="1" /> <input type="file" name="avatar" size="16" /><input id="submitBTN" input type="submit" value="Upload" /></form> Через PHP делаю так Код (Text): $data = array( 'name' => 'avatar', 'file' => 'd:\xampp\htdocs\bb\2.png' ); curl_setopt ($curl, CURLOPT_POSTFIELDS, $data); Но не работает. Что делаю не так? Зарние спасибо!
Поставил - всёравно не меняется! Может нужно не 'name' и 'file', а что-то другое? Код (Text): curl_setopt($curl,CURLOPT_URL,'http://steamcommunity.com/actions/FileUploader?type=group_avatar_image&gId=103582791431794047&bgColor=262627'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30); curl_setopt($curl,CURLOPT_POST,TRUE); $data = array( 'name' => 'avatar', 'file' => '@d:\xampp\htdocs\steam\2.png' ); curl_setopt ($curl, CURLOPT_POSTFIELDS, $data); $html = curl_exec($curl); echo $html; Авторизация на сайте проходит успешно, тоесть проблема где-то здесь
А какая ошибка? $_FILES пустой? Попробуй закомментировать по порядку curl_setopt(...) Посмотри когда начнет работать... Это правильно, менять не надо.
Он просто выводит страничку, куда картинка должна заливаться, но в исходном коде нет яваскрипта, который должен появляться в случае удачной попытки. Тоесть ошибка где-то в этом массиви... Щас попробую закомментировать некоторые. Добавлено спустя 11 минут 4 секунды: Сделал в корне у себя файл upload.php Код (Text): <?php print_r($_FILES); ?> Запрос Код (Text): curl_setopt($curl,CURLOPT_URL,'http://localhost:8080/steam/upload.php'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30); curl_setopt($curl,CURLOPT_POST,TRUE); $data = array('name' => 'avatar', 'file' => '@d:\xampp\htdocs\steam\2.png'); curl_setopt ($curl, CURLOPT_POSTFIELDS, $data); $html = curl_exec($curl); echo $html; Ответ Код (Text): Array ( [file] => Array ( [name] => 2.png [type] => application/octet-stream [tmp_name] => D:\xampp\tmp\php8530.tmp [error] => 0 [size] => 1194 ) ) Тоесть всё работает? Ошибка в чём-то другом?
Ну раз тебе выводиться массив $_FILES значить локально точно работает. попробуй еще воспользоваться curl_error()
curl_error() не показует мне никакой ошибки. в массив добавил 'doSub' => '1' начало в ответ писать 'Missing image from upload. Try again!' Добавлено спустя 17 минут 31 секунду: Посмотрел через HttpFox post-запрос браузера Код (Text): -----------------------------41184676334 Content-Disposition: form-data; name="MAX_FILE_SIZE" 204800 -----------------------------41184676334 Content-Disposition: form-data; name="type" group_avatar_image -----------------------------41184676334 Content-Disposition: form-data; name="gId" 103582791431794047 -----------------------------41184676334 Content-Disposition: form-data; name="doSub" 1 -----------------------------41184676334 Content-Disposition: form-data; name="avatar"; filename="2.png" Content-Type: image/png {код png} -----------------------------41184676334--
$data = array('MAX_FILE_SIZE' => '204800', 'type' => 'group_avatar_image', 'gId' => '103582791431794047', 'doSub' => '1', 'name' => 'avatar', 'file' => '@d:\xampp\htdocs\steam\2.png');
$data = array('MAX_FILE_SIZE' => '204800', 'type' => 'group_avatar_image', 'gId' => '103582791431005288', 'doSub' => '1', 'avatar' => "@".$_SERVER['DOCUMENT_ROOT'].'/steam/avatar.png');