Panique在这个帖子上回答了一个问题做得很好:PHP directory list from remote server
但是他创造了一个我根本不懂的功能,希望得到某种解释。例如,随机8192号是什么?
function get_text($filename) {
$fp_load = fopen("$filename", "rb");
if ( $fp_load ) {
while ( !feof($fp_load) ) {
$content .= fgets($fp_load, 8192);
}
fclose($fp_load);
return $content;
}
}
答案 0 :(得分:1)
它加载路径在$filename
中的文件并返回其内容。 8192不是随机的。它意味着以 8kb 的块为单位读取文件。
只要文件未完全读取,while
循环就会运行。每次迭代都会将最新的8kb文件添加到$content
,并在函数末尾返回。
答案 1 :(得分:0)
它加载文件的数据。
For example, what's with the random 8192 number?
http://php.net/manual/en/function.fgets.php
读取长度 - 读取1个字节或换行时(或 包含在返回值中)或EOF(以先到者为准)。 如果没有指定长度,它将继续从流中读取,直到 它到了终点。
答案 2 :(得分:0)
要打破它:
function get_text($filename) { //Defines the function, taking one argument - Filename, a string.
$fp_load = fopen("$filename", "rb"); //Opens the file, with "read binary" mode.
if ( $fp_load ) { // If it's loaded - fopen() returns false on failure
while ( !feof($fp_load) ) { //Loop through, while feof() == false- feof() is returning true when finding a End-Of-File pointer
$content .= fgets($fp_load, 8192); // appends the following 8192 bits (or newline, or EOF.)
} //Ends the loop - obviously.
fclose($fp_load); //Closes the stream, to the file.
return $content; //returns the content of the file, as appended and created in the loop.
} // ends if
} //ends function
我希望这会有所帮助。
详细说明8192:
读取长度 - 读取1个字节,或换行(包含在返回值中)或EOF(以先到者为准)时结束。如果没有指定长度,它将继续从流中读取,直到它到达行尾。