Я пишу скрипт для загрузки файлов по php curl на сервер oipenstack. Я получил токен и адрес для загрузки каталога.
Когда я использую curl в CLI, это работает. Но когда я использую свой php-скрипт, в начале файла добавляется некоторый код, поэтому файл изменяется. Если файл представляет собой видеофайл, он поврежден, и медиаплееры больше не могут его воспроизводить.
Я заметил изменения, которые сделаны php curl. Я сравнил файл до загрузки и после загрузки. Разница в том, что какой-то код добавлен до содержимого файла, которое я выяснил в шестнадцатеричном редакторе.
Давайте посмотрим их на скриншотах (до / после):
Так что что-то о расположении контента, имени, имени файла добавляются туда. Я хотел бы исправить мой скрипт php curl, чтобы он не добавлял префиксы и не менял файлы вообще. Мой PHP-код это:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://abc-de.fghijklm.com/v1/AUTH_8a619275-f933-4da1-b289-0c06a1a2a3a4/bcd/drop93.avi");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
$headers = array();
$headers[] = "X-Auth-Token: AUTH_tkaacb23cace324039a3be9c81b1b2b3b4";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$curlFile = curl_file_create ('./drop.avi');
$post = array (
'file_contents' => $curlFile
);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
Задача ещё не решена.
Других решений пока нет …