Чего то я по страшному туплю. Как загрузить (скопировать) файл в форму автоматически? Есть путь к файлу files/file1.jpg. file_get_contents возвращает ересь, я так понимаю декодирует файл. А нужно мне это все, чтобы отправить изображение пост запросом. Можно и без формы, но я и для этого не нашел решения. Точнее что-то типа такого PHP: $upload_url = 'Какой то урл'; $options = array( http' => array( 'header' => "Content-type: multipart/form-data\r\n", 'method' => 'POST', 'content' => 'photo='.$upload_photo ) ); $context = stream_context_create($options); $result_upload = file_get_contents($upload_url, false, $context); И опять же не понятно, как передать файл в переменную $upload_photo curl не работает, так как 5.4
Это не ересь, это содержимое файла. PHP: $file = file_get_contents('http://example.com/test.jpg'); $data = array('filename' => 'testfile', 'file' => $file); $data = http_build_query($data); $context_options = array( 'http' => array( 'method' => 'POST', 'header' => array( "Content-type: application/x-www-form-urlencoded", "Content-Length: " . strlen($data) ) , 'content' => $data ) ); $context = stream_context_create($context_options); $s = file_get_contents("http://example1.com/", false, $context);
Не получается передать этим способом файл. Либо я не понял сути способа. Переменная $s это результат передачи файла на новую страницу. В какой переменной это находится? Глобальная $_FILES выдает NULL.
Основная задача передать в через api vk на загрузку на стену фото. Точнее на выделенное для этого урл. Через способ этот - json ответ возвращает пустое поле на месте файла. Поэкспериментировав заодно - передавал файл на другую страницу на локалке и опять же ничего.
Совершенное верно. И я сейчас нахожусь а пункте "Передайте файлы на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полями file1-file5. Эти поля должны содержать изображения в формате multipart/form-data. " Соответственно заменяю поля и ничего не происходит. Приходит такой JSON ответ: "{"server":626518,"photo":"[]","hash":"910772a40046b53df2900670db1bfbc8"}"
В общем перешел на пхп7, удалил нафиг денвер, и воспользовался курлом. Нафиг эти танцы с бубном. Код, если кому надо вдруг. PHP: $fileName = $_SERVER["DOCUMENT_ROOT"]."/".$your_file; $finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_file($finfo, $fileName); $cFile = curl_file_create ($fileName, $finfo, basename($fileName)); $data = array( "photo" => $cFile, "filename" => $cFile->postname); $cURL = curl_init($upload_url); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); curl_setopt($cURL, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data')); curl_setopt($cURL, CURLOPT_POST, true); curl_setopt($cURL, CURLOPT_POSTFIELDS, $data); $response = curl_exec($cURL);