我编写了一个脚本,通过php curl上传文件到oipenstack服务器。我得到了令牌和地址到上传目录。
当我在CLI中使用curl时,它可以工作。但是,当我使用我的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);