Например:
$file = fopen("File.txt", "r"); $filename = $file->basename;
если существует такой метод, как basename для файловых объектов (ресурсы указателя на файл).
Нет , нет способа сделать. Вы должны сохранить имя файла в переменной, например:
<?php $filename = "File.txt"; $file = fopen($filename, "r"); $basename = basename($filename);
Кроме того, небольшое примечание: указатель файла не является объектом, это ресурс, который вы можете увидеть, передав его в var_dump()
(он выведет что-то вроде resource(3) of type (stream)
). Это означает, что вы не можете использовать его напрямую, вам придется использовать функции из ядра PHP или расширения PHP для его обработки. В случае указателей файлов вы должны использовать такие функции, как fread()
, fwrite()
и fclose()
.
Нет, нет.
Кстати, в каком сценарии эта вещь нужна?
Я пришел на эту страницу, пытаясь выяснить имя файла, tmpfile()
функцией tmpfile()
PHP – он возвращает указатель. Я хотел использовать его для создания файла, который я мог бы использовать с некоторыми командами Unix. В конце я использовал tempnam(realpath(sys_get_temp_dir()), "piclib_");
вместо.