我可以用PHP读取.TXT文件吗?

Fre*_*hay 10 php file

当我开始用PHP和MySQL编写我的网站时,我编写的第一个PHP脚本之一是初始化我的数据库的脚本.删除/创建数据库.删除/创建每个表.然后从脚本中的文字加载表.

这一切都很好!Whoohoo :-)

但我更喜欢从文件中读取数据,而不是在PHP脚本中对它们进行硬编码.

我有几本关于PHP的书籍,但它们都是面向使用MySQL进行Web开发的.我找不到任何关于读写普通文件的内容.

是的,我知道这里有关于读取TXT文件的stackoverflow的大量问题,但是当我看每一个时,它们都是C或C#或VB或Perl.我开始认为PHP只是无法读取文件:-(

我需要的只是一个简短的PHP示例,说明如何在服务器上打开TXT文件,按顺序读取它,在屏幕上显示数据,以及关闭文件,如下面的伪代码:

program readfile;
handle = open('myfile.txt');
data = read (handle);
while (not eof (handle)) begin
    display data;
    data = read (handle);
    end;
close (handle);
end;     
Run Code Online (Sandbox Code Playgroud)

当我到达我的网站上人们上传头像的部分时,我还需要在服务器上写文件,并将它们保存为JPG或GIF文件.但这是为了以后.

谢谢!

JKi*_*rtz 23

PHP手册fread():

<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Run Code Online (Sandbox Code Playgroud)

根据评论编辑,您可以逐行读取文件fgets()

<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);
}
?>
Run Code Online (Sandbox Code Playgroud)


hak*_*kre 7

我需要的只是一个简短的PHP示例,说明如何在服务器上打开TXT文件,按顺序读取它,在屏幕上显示数据,以及关闭文件,如下面的伪代码:

echo file_get_contents('/path/to/file.txt');
Run Code Online (Sandbox Code Playgroud)

是的,请注意file_get_contents,您通常不需要循环:

$file = new SPLFileObject('/path/to/file.txt');
foreach($file as $line) {
    echo $line;
}
Run Code Online (Sandbox Code Playgroud)


Mad*_*iha 3

好吧,既然您询问有关该主题的资源,那么PHP.net 文档中有一整本书。

一个基本的例子:

<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Run Code Online (Sandbox Code Playgroud)