Another ftp_get_contents() approach, using a temperary stream handler. Returns file contents of remote file as string.
<?php
function ftp_get_contents ($conn_id, $remote_filename) {
//Create temp handler:
$tempHandle = fopen('php://temp', 'r+');
//Get file from FTP assuming that it exists:
ftp_fget($conn_id, $tempHandle, $remote_filename, FTP_ASCII, 0));
//Getting detailed stats to check filesize:
$fstats = fstat($tempHandle);
return fread($tempHandle, $fstats['size']);
}
?>
(It is recommended to add some error handling)
fstat
(PHP 4, PHP 5)
fstat — Poskytne informácie o súbore zadanom jeho deskriptorom
Popis
array fstat
( resource $deskriptor
)
Poskytuje ucelené informácie a štatistiky o súbore alebo symbolickom linku zadanom v parametri deskriptor . Táto funkcia je podobná funkcii stat(). Rozdiel je v tom, že táto funkcia pracuje s otvoreným deskriptorom súboru (nie s názvom súboru).
Vráti pole s informáciami a štatistikami o súbore, v ktorom sa nachádzajú nasledovné prvky:
- zariadenie
- inode
- mód ochrany inode
- počet linkov
- id užívateľa - vlastníka
- id skupiny vlastníka
- typ zariadenia v prípade zariadenia inode *
- veľkosť v bytoch
- čas posledného prístupu
- čas poslednej modifikácie
- čas poslednej zmeny
- veľkosť bloku pre I/O operácie súborového systému *
- počet alokovaných blokov
Výsledky tejto funkcie sú cacheované. Bližšie informácie možno nájsť v popise clearstatcache().
fstat
broom at alturnanetworks dot com
03-Oct-2008 03:21
03-Oct-2008 03:21
mordae at mordae dot net
29-Jan-2006 07:12
29-Jan-2006 07:12
dom at dodgydom dot com wrote:
Best way i found was to open the url into $data and make a temporary file with the contents of $data then get the fstats on the temporary file :).
OMG why? The only thing that will remain is the file size. You also download up to 1G file, which probably is not what you want.
To get size use PHP's function filesize() with URL wrappers or ask yourself via HTTP.
sheran at comtrust dot co dot ae
21-Feb-2001 05:14
21-Feb-2001 05:14
On Windows NT the typical array element names for the fstat function are:
dev
ino
mode
nlink
uid
gid
size
atime
mtime
ctime
