Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cURL下载PHP的进展不起作用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我是一个 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 called
curl_setopt($ch,CURLOPT_NOPROGRESS,false);

// Set up the callback
curl_setopt($ch,CURLOPT_PROGRESSFUNCTION,'callback');

// Big buffer less progress info/callbacks
// Small buffer more progress info/callbacks
curl_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的进展不起作用?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: