В PHP после назначения ресурса указателя файла переменной с помощью функции fopen (), как я могу получить имя файла из переменной?

Например:

$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_"); вместо.