我试过这个:
<?php
$fileip = fopen("test.txt","r");
?>
这应该以只读方式打开文件,但 test.txt 文件与 index.php (主项目文件夹)不在同一文件夹中
文件打不开
当我把回声像:
echo $fileip;
它回来了
资源 ID #3
该文件确实打开得很好,您不能像那样回显它,因为它是一个文件指针,而不是文件本身的内容。您需要使用fread()
来阅读实际内容,或者更好的是,使用file_get_contents()
立即获取内容。
按照你的方式做:
$handle = fopen("test.txt", "r");
$fileip = fread($handle, filesize($filename));
fclose($handle);
echo $fileip;
或者,使用file_get_contents()
:
$fileip = file_get_contents("test.txt");
echo $fileip;
来自 php.net:
成功时返回文件指针资源,错误时返回 FALSE。
由于resource
返回了a,您的文件已经成功打开,您需要对文件进行进一步的操作,例如fwrite
,等。所以没有错误,文件在那里被操纵。
如果您通过 fopen 调用获得资源 id,则它成功,因为如果失败,它将返回 FALSE。那么究竟是什么让您怀疑该文件实际上是打开的呢?
检查http://www.php.net/fopen了解更多信息。
您只打开了一个文件句柄,而不是文件本身。
如果您使用的是 PHP5 - 您确实应该用于新开发,您可以改用 $fileip = file_get_contents("test.txt") 将这个文件的内容读入缓冲区。
一个完整的例子。
<?php
$fileip = file_get_contents("test.txt");
echo($fileip);
?>
输出文本文件内容:
$fh = fopen('myfile.txt', 'r');
$text = fread($fh, filesize('myfile.txt'));
echo $text;