я пробовал это:
<?php $fileip = fopen("test.txt","r"); ?>
это должно было открыть файл только для чтения, но файл test.txt не находится в той же папке, что и файл index.php (основная папка проекта)
файл не открывается
и когда я помещаю эхо вроде:
echo $fileip;
он вернулся
Идентификатор ресурса №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
был возвращен, ваш файл успешно открыт, вам нужны дополнительные операции, такие как 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;