Php Curl无法在服务器上上载文件
我正在尝试使用Api在服务器上上传一个文件。在本地主机上成功了。工作正常。我可以轻松地在服务器上上传文件。 但当我的代码在服务器上运行时,它就不会被上传。我会授予从中获取图像或文件的文件夹的读写权限。 这是我的curl代码:Php Curl无法在服务器上上载文件,php,curl,yii,hipchat,Php,Curl,Yii,Hipchat,我正在尝试使用Api在服务器上上传一个文件。在本地主机上成功了。工作正常。我可以轻松地在服务器上上传文件。 但当我的代码在服务器上运行时,它就不会被上传。我会授予从中获取图像或文件的文件夹的读写权限。 这是我的curl代码: $c = curl_init(); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); if($api_type =
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
if($api_type == 2){
//$mm = array("message" => $message);
$message = str_replace("\n", "\\n", $message);
$message = '{"message":"'.$message.'"}';
curl_setopt($c, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
));
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS,$message);
}
if($api_type == 3 & $attachment != NULL){
$data = array( 'file' => '@'.self::basePath().'/../user_uploads/hipchat_image/'.$attachment);
curl_setopt($c, CURLOPT_HTTPHEADER, array(
'Content-Type: multipart/related',
));
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS,$data);
}
return curl_exec($c);
你可以试试
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
根据PHP版本的不同,PHP5.5中的默认值为false
,PHP5.6+中的默认值为true
。。。因此,请检查PHP的本地和Web服务器版本
请参阅:您可以尝试
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
根据PHP版本的不同,PHP5.5中的默认值为false
,PHP5.6+中的默认值为true
。。。因此,请检查PHP的本地和Web服务器版本
请参阅:PHP7删除此选项
curl\u setopt($ch,CURLOPT\u SAFE\u UPLOAD,false)
上传文件时必须使用CURLFile
界面
您可以这样编写代码
$data = array('file'=>new CURLFile('/file/path'));
请参见PHP7删除此选项
curl\u setopt($ch,CURLOPT\u SAFE\u UPLOAD,false)
上传文件时必须使用CURLFile
界面
您可以这样编写代码
$data = array('file'=>new CURLFile('/file/path'));
看好吧,哇,这花了好长时间才找到。我必须更新一个遗留系统,而不是PHP7,这就是破坏脚本的原因。谢谢好吧,哇,这花了好长时间才找到。我必须更新一个遗留系统,而不是PHP7,这就是破坏脚本的原因。非常感谢。