Req #51369 [Com]: add getFileByInode() function

[email protected] ("opi88 at web dot de")
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at http://bugs.php.net/bug.php?id=51369&edit=1

 ID:               51369
 Comment by:       opi88 at web dot de
 Reported by:      opi88 at web dot de
 Summary:          add getFileByInode() function
 Status:           Bogus
 Type:             Feature/Change Request
 Package:          *Directory/Filesystem functions
 Operating System: ALL
 PHP Version:      Irrelevant

 New Comment:

Well that's no good news. But what about the filesystems that support a
"getFileByInode" – can you name some? And is there any other way to
get a unique identifier of a file that doesn't change when a file is
moved, and can be resolved both ways?

In case there is not: Any "best practice" suggestion?


Previous Comments:
------------------------------------------------------------------------
[2010-03-23 19:12:49] [email protected]

The inode is handled by the filesystem and we can't rely in anyway on
it. It is only exposed as away to help debugging some issues. Many
filesystems don't offer a reliable way to locate files by their inode.

------------------------------------------------------------------------
[2010-03-23 18:52:20] opi88 at web dot de

Description:
------------
Imagine a CMS (or similar system) that links a picture to a text. When
the picture is moved to a different location, the system cannot find and
include the picture anymore.

There are two options for solving this issue:
(1) Update each database entry containing the picture path. Depending on
where, how and how many times the picture is included, this can be very
tedious.
(2) Provided there is a database (table) containing all files linked to
and their paths, you have to update this db / table with the new picture
path.

But why use an extra database (table) in (2) when there already is a
database for files: The filesystem!? And both methods require you to
execute the update manually.

With PHP, you can get a file's Inode, but you can't get a file (path) by
providing an Inode. If you could, you'll might just link an Inode in
your database instead of a path and you'll always have the correct
picture path.

Thus, I request a getFileByInode() function, or extend the fileinode()
function to be able to return a path on integer input.

Test script:
---------------
<?php
$inode = fileinode('/path/to/file.ext');
$path  = fileinode((int) $inode); // returns '/path/to/file.ext'
?>



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51369&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.