Forums / Developer / reading an uploaded file content
Peretjatko Alexandre
Thursday 19 June 2008 3:18:12 am
Hi,
I'm looking for a way to read ( in PHP ) a file that have been uploaded by the user via the Back Office.
Well.... I know, in PHP I can read my file with the <i>file</i> instruction like that :
$l_TAB_Fichier = file($l_STR_FilePath );
.. but my trouble is to found the file's path ( my file is a text file )
I've found a way to acces to my file-object in the ezcontentobject table... but I don't know how to build the file path.
So, if someone know how to read an uploaded file content, help is welcome.
Regards Alex. -------------------------------------------------------------- Personnal website : http://www.alex-design.fr
Pascal Specht
Thursday 19 June 2008 5:20:20 am
Hi Alexandre,
Maybe you can find your solution by reverse-engineering what eZBinaryFileHandler does:
$fileHandler =& eZBinaryFileHandler::instance(); $result = $fileHandler->handleDownload( $contentObject, $contentObjectAttribute, EZ_BINARY_FILE_TYPE_FILE );
Hope this helps,</Pascal>
Thursday 19 June 2008 5:35:01 am
Hi Pascal,
In your code,
if $contentObject is the value that I found in ezcontentobject table ( column ID ), what would be $contentObjectAttribute ?
Thursday 19 June 2008 6:05:51 am
the contentObjectAttribute argument is the eZContentObjectAttribute of the ContentObject (see eZContentObjectAttribute documentation here:http://pubsvn.ez.no/doxygen/trunk/html/classeZContentObjectAttribute.html).The code was a snipped from eZ's source code, not working out of the box.
What I meant is that you can start looking at how this has been implemented, how Exponential does it.
(from kernel/classes/ezbinaryfilehandler.php)
$fileInfo = $contentObjectAttribute->storedFileInformation( $contentObject, $version, $contentObjectAttribute->attribute( 'language_code' ) );
one typical way to get COA (ContentObjectAttributes) from a contentobject is for example:
$contentObjectAttributes =& $contentobject->contentObjectAttributes( false, false, $language, false );
</Pascal>