作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我收到这条消息:
Deprecated: curl_setopt_array(): The usage of the @filename API for file uploading is deprecated. Please use the CURLFile class instead
我知道我可以使用 CURLFile
类重写我的代码,但它只能从 5.5 开始使用。
我的网站必须在 PHP 5.3、PHP 5.4 或 PHP 5.5 上运行,所以我不能放弃 5.3 和 5.4 的兼容性。所以我不能使用 CURLFile。
如何重写代码以使其在没有任何 PHP 版本检查的情况下在任何 PHP 上运行?
最佳答案
我找到的最佳解决方案是 /src/Guzzle/Http/Message/PostFile.php :
public function getCurlValue()
{
// PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax
// See: https://wiki.php.net/rfc/curl-file-upload
if (function_exists('curl_file_create')) {
return curl_file_create($this->filename, $this->contentType, $this->postname);
}
// Use the old style if using an older version of PHP
$value = "@{$this->filename};filename=" . $this->postname;
if ($this->contentType) {
$value .= ';type=' . $this->contentType;
}
return $value;
}
关于PHP curl : The usage of the @filename API for file uploading is deprecated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972513/
我是一名优秀的程序员,十分优秀!