cURL下载PHP的进展不起作用?

cURL下载PHP的进展不起作用?,第1张

概述我是一个 PHP新手,并尝试使用以下方法向现有PHP脚本添加进度条: $ch=curl_init() or die("ERROR|<b>Error:</b> cURL Error");curl_setopt($ch, CURLOPT_URL, $c);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);curl_setopt($ch, CURLOPT 我是一个 PHP新手,并尝试使用以下方法向现有PHP脚本添加进度条:

$ch=curl_init() or dIE("ERROR|<b>Error:</b> cURL Error");curl_setopt($ch,CURLOPT_URL,$c);curl_setopt($ch,CURLOPT_FolLOWLOCATION,TRUE);curl_setopt($ch,CURLOPT_file,$fp);//####################################################//// This is required to curl give us some progress// if this is not set to false the progress function never// gets calledcurl_setopt($ch,CURLOPT_nopROGRESS,false);// Set up the callbackcurl_setopt($ch,CURLOPT_PROGRESSFUNCTION,'callback');// Big buffer less progress info/callbacks// Small buffer more progress info/callbackscurl_setopt($ch,CURLOPT_BUFFERSIZE,128);//####################################################//curl_exec($ch);curl_close($ch);fclose($fp);

回调函数:

function callback($download_size,$downloaded,$upload_size,$uploaded){    $percent=$downloaded/$download_size;  // Do something with $percent  echo "$percent";      }

现在,我从PHP网站上直接复制粘贴了这个例子,但这不起作用?我的PHP版本是5.2.11,请.提出什么可能是错的?

编辑:我从另一个脚本调用这个PHP脚本.

信息:我坚持5.2.X分支,因为我的网络主机说cPanel不支持5.3.x分支,任何解决方案?

解决方法 在PHP 5.3之前似乎没有CURLOPT_PROGRESSFUNCTION.

看看http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?view=log,你会发现两个条目 – [DOC] MFH:#41712,实现进度回调.一个用于PHP5.3,另一个用于PHP6分支.

编辑:使用PHP 5.2.x,您应该可以设置stream_notification_callback

function foo() {  $args = func_get_args();  echo join(',',$args),"\n";}$ctx = stream_context_create(null,array('notification' =>'foo'));$fpIn = fopen('http://PHP.net/','rb',false,$ctx);file_put_contents('localfile.txt',$fpIn);
总结

以上是内存溢出为你收集整理的cURL下载PHP的进展不起作用?全部内容,希望文章能够帮你解决cURL下载PHP的进展不起作用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1027766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存