файл не открывается с помощью PHP fopen

Я попытался это:

    <?php
$fileip = fopen("test.txt","r");

?>

это должно было открыть файл только для чтения, но это не так испытание.txt-файл находится в той же папке, что и index.php (основная папка проекта)

файл не открывается

и когда я поставил эхо, как :

echo $fileip;

он вернулся

идентификатор ресурса #3

6 ответов


файл открылся просто отлично, вы не можете эхо его так, потому что это указатель файла, а не содержимое самого файла. Вам нужно использовать 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:

возвращает указатель на файл в успех или ложь по ошибке.

С resource был возвращен, ваш файл успешно открыт, вам нужны дальнейшие операции, такие как fwrite и т. д. В вашем файле. Таким образом, нет ошибки, файл должен быть манипулируют.


Если вы получаете идентификатор ресурса в результате вызова fopen, то он удался, потому что он вернет 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;