碰到一个奇葩问题,关于fopen txt,打不开文件的问题。
我做了个程序,情况是这样的。
一、系统:linux nginx php
二、程序过程:
1、编写了一个pro1.php,改写存在的abc.txt,程序如下:(执行成功)
$tmp=tempnam("/tmp",'');//建立临时文件
$f2=fopen($tmp,'w');
foreach($newarr as $key=>$value)
{
if($key<>''){
fputs($f2,$key.",".$value[0].",".$value[1].",".$value[2].",".$value[3].",".$value[4].",".$value[5].",".$value[6].",".$value[7].",".$value[8].",".$value[9].",".$value[10].",".$value[11]."\r\n");
}
}
fclose($f2);
rename($tmp,'/alidata/www/default/abc.txt');
2、我是在linux下面,用命令行php /alidata/www/default/pro1.php,执行pro1.php(执行成功)
3、编写程序pro2.php,读取abc.txt,在浏览器运行。程序如下:执行失败,无法打开abc.txt
$filename = 'abc.txt';
$handle = fopen($filename, "r");
if(!$handle) exit('文件打开失败');
$contents = fread($handle, filesize($filename));
echo $contents;
fclose($handle);
请问大家是什么问题?如何解决这个问题?
申明一下,绝对不是路劲问题,为什么呢?因为我试了好多次自己做了一个同名的abc.txt,放在同样的位置。pro2.php可以读取出abc.txt的内容。
如果没有解决方案,希望大家能够给出dbug方法,可以找出问题在哪里?去掉if(!$handle) exit('文件打开失败'),打开display_error,也没错误报出来,无语。