0
我在阅读包含URL的CSV文件。我试图输出这些URL的结果,但面临奇怪的问题。 我似乎无法理解,当您尝试打印第一行的项目时,为什么此代码不打印变量$输出。阅读URL时,CURL不返回任何输出
这是一个包含两个记录我的CSV文件:
www.serverfault.com
www.stackoverflow.com
这是我的代码
<?php
$myfile = fopen("products.csv", "r") or die("Unable to open file!");
while(!feof($myfile))
{
$myline = fgets($myfile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $myline);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
if($myline == "www.serverfault.com")
{
echo $output;
}
}
?>
请注意,在CSV文件中的第一个记录是www.serverfault.com它从不打印$输出。如果我将这条记录移动到第二行,那么它会打印$输出,但是它现在不在第一行打印$ output for www.stackoverflow.com。
发生了什么事?
你只是假设成功。 curl_exec在失败时返回布尔值false,打印为零长度字符串。 'if($ output === false){die(curl_error($ ch)); }'并且不要忘记检查字符串上的空格(例如换行符)。你的$ myline可能实际上是'www .... com \ n'什么的。 –
你对这两点都绝对正确。 $ output是错误的,结果发现URL末尾有一个空格。谢谢。请发表您的评论作为答案,以便我可以接受它。 –