首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP从文件foreach加载数组

PHP从文件foreach加载数组
EN

Stack Overflow用户
提问于 2010-09-30 23:45:20
回答 2查看 614关注 0票数 1

我有这样的代码:

代码语言:javascript
复制
require("class.XMLHttpRequest.php");
function hot($news){
 $url="https://localhost/search.aspx?search=".$news.""; 
 $ajax=new XMLHttpRequest();
 $ajax->setRequestHeader("Cookie","Cookie: host");
 $ajax->open("GET",$url,true);
 $ajax->send(null);
 if($ajax->status==200){
  $rHeader=$ajax->getResponseHeader("Set-Cookie");
  if(substr_count($rHeader, "Present!")>0) { return true; }
 }else{ return false; }
} 

$celebrities = array('britney','gaga','carol');
$filename = 'result.txt';
$handle = fopen($filename, 'a');
foreach($celebrities as $celebrity)
{
    if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); };
}
fclose($handle);

而不是

代码语言:javascript
复制
$celebrities = array('britney','gaga','carol');
$filename = 'result.txt';
$handle = fopen($filename, 'a');
foreach($celebrities as $celebrity)
{
    if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); };
}
fclose($handle);

我想要实现

代码语言:javascript
复制
$read_file = fopen('array.txt', 'r');
$write_file = fopen('result.txt', 'a');

while(!feof($read_file))
{
    $celebrity = fgets($read_file);
    if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); }
}

fclose($write_file);
fclose($read_file);

现在result.txt不再被编写了,我哪里错了?脚本应该从文件中读取数组,热处理函数,然后在result.txt中将每个结果写在新行中,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-30 23:49:52

假设每行只有一个名人:

代码语言:javascript
复制
$celebrity = trim(fgets($read_file));

因为fgets将返回一个包含换行符的字符串。

票数 1
EN

Stack Overflow用户

发布于 2010-09-30 23:50:01

在线上:

代码语言:javascript
复制
if(hot($celebrity)) { fwrite($handle, "{$celebrity}\r\n"); }

您使用的是不再定义的$handle。您希望改用$write_file

代码语言:javascript
复制
if(hot($celebrity)) { fwrite($write_file, "{$celebrity}\r\n"); }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3832304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档