php-在函数内部使用时CURL不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-在函数内部使用时CURL不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2398字,纯文字阅读大概需要4分钟。
内容图文
![php-在函数内部使用时CURL不起作用](/upload/InfoBanner/zyjiaocheng/677/36cd204e460444c3b51dc10fee3e26ec.jpg)
我正在尝试使用以下代码执行curl.
mainFunction{
.
.
$url = strtolower($request->get('url', NULL));
$html_output= $this->startURLCheck($url);
.
.
}
function startURLCheck($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$html_output = curl_exec($ch);
}
当我直接给出字符串URL时,它工作正常.但是然后我通过未执行的函数curl传递了字符串数据. curl_error也没有显示任何错误.我尝试了很多对字符串进行编码和解码的方法,但结果相同.我做错了吗?我在Windows上使用XAMPP服务器.
我从另一个函数的HTML发布请求获取URL后,将URL传递给此函数.
解决方法:
问题在于您的函数startURLCheck实际上并未返回供主程序使用的值.更改最后一行:
function startURLCheck($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
return curl_exec($ch);
}
在您的调用代码中,取出“ $this->”
$html_output = startURLCheck($url);
$html_output现在包含curl调用的结果.
我假设您从某处复制并粘贴了此代码,因为您的“ mainFunction”声明在语法上不正确,并且您使用了“ $this->”.而不指定startURLCheck是对象的方法.
如果实际上您打算将startURLCheck用作对象方法,并且希望它在对象上设置$html_output,请执行以下操作:
<?php
class Example {
private $html_output;
function mainFunction()
{
$url='http://www.ebay.com/itm/Apple-iPhone-5-16GB-Black-Slate-Cricket-intl-UNLOCKED-pleeze-read-ad-/251252227033';
$this->startURLCheck($url);
echo "HTML output: " . $this->html_output;
}
function startURLCheck($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$this->html_output = curl_exec($ch);
}
}
$example = new Example();
$example->mainFunction();
我已经在命令行(不在网页中)测试了此代码.如果将其复制并粘贴到文件中并使用php -r运行它,您将看到结果. (并且请注意,我没有包含一个闭合的>标签.当文件仅包含PHP代码而不包含HTML时,闭合标签是可选的.实际上,建议在这种情况下省略闭合标签.请参见http://php.net/manual/en/language.basic-syntax.instruction-separation.php)
另请注意,在您的mainFunction问题代码中,URL中的“ pleeze”前有非法空格,并且在$url赋值末尾缺少分号.
希望这可以帮助.祝好运.
内容总结
以上是互联网集市为您收集整理的php-在函数内部使用时CURL不起作用全部内容,希望文章能够帮你解决php-在函数内部使用时CURL不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。