2013-07-06 3 views
2

Panique проделали большую работу, отвечая на вопрос по этой теме: PHP directory list from remote serverЧто делает эта функция get_text?

Но он создал функцию, я не понимаю вообще и в надежде получить какое-то объяснение. Например, что со случайным номером 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

не ставят '$ filename' в кавычках на' FOPEN() 'вызова. Это не имеет большого смысла. –

+0

Я просто использовал то, что использовал Panique (как упоминалось), в любом случае он работает – Xtremefaith

ответ

1

Он загружает файл, который путь в $filename и возвращает его содержимое. 8192 не является случайным. это означает читать файл в кусках 8kb.

Цикл while работает до тех пор, пока файл не был полностью прочитан. Каждая итерация добавляет последние 8kb файла в $content, который возвращается в конце функции.

0

Он загружает данные файла.

For example, what's with the random 8192 number?

http://php.net/manual/en/function.fgets.php

Чтение заканчивается, когда длина - 1 байт чтения или перевода строки (который включен в возвращаемое значение) или EOF (что наступит первым). Если длина не указана, она будет продолжать чтение из потока, пока не достигнет конца строки.

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 (что наступит первым). Если длина не указана, она будет продолжать чтение из потока, пока не достигнет конца строки.

от: http://php.net/manual/en/function.fgets.php

Смежные вопросы