[ NenadS @ 12.05.2002. 20:26 ] @
Jel moze da se proveri velicina fajla, ako ne znam njegov path, vec samo http adresu??? i kako ?

Kada znam path ide ovako:
$velicina = filesize("D:/Inetpub/wwwroot/baneri1/opravdanje.jpg");

ali ako upisem umesto
D:/Inetpub/wwwroot/baneri1/opravdanje.jpg
http://localhost/opravdanje.jpg
onda nece da izmeri velicinu fajla...

Kako se to radi?
[ 01011011 @ 12.05.2002. 22:45 ] @
Jel se radi o tvom serveru ili da vidis fajl sa necijeg servera.
[ NenadS @ 12.05.2002. 22:54 ] @
Sa drugog servera, treba mi za razmenu banera, pa hocu pored dimezija da ogranicim i velicnu banera...

Jel moze ?
[ FlatLine @ 13.05.2002. 00:08 ] @
Code:
<?php

$Remote = 'http://www.elitesecurity.org/images/logo.gif';

$fp = fopen ($Remote, r) or die ("Cannot open file: $File");
while (!feof ($fp)) {
    $Buffer .= fread ($fp, 1024);
}
fclose ($fp);

$fp = fopen ('temp.dat', w) or die ('Cannot open temporary file for writing!');
fputs ($fp, $Buffer);
fclose ($fp);

print (filesize ('temp.dat'));
unlink ('temp.dat');

?>
[ RAZZLEDAZZLER @ 13.05.2002. 02:29 ] @
a shto bi bezveze sachuvavao fajl kod sebe, pa proveravao, pa brisao fajl?
Moze i ovako

Code:

<?php
$Remote =  "http://www.elitesecurity.org/images/logo.gif";
$fp = @fopen ($Remote, r) or die ("Cannot open file: $Remote");
while (!feof ($fp)) {
$Buffer .= fread ($fp, 1024);
}
fclose ($fp);
echo strlen($Buffer);
?>
[ leka @ 13.05.2002. 06:07 ] @
Razlog je svakako da taj fajl moze biti i preko 700 Mb velik... Dakle stavljati ceo fajl koji je toliko velik u jednu promenljivu i nije narocito dobro. ;) Takodje nije dobro ni skidati ga cisto da bi se izmerilo koliki je fajl.

Najbolje bi bilo ako fseek() radi na remote fajlovima i onda da se zada komanda da se ode na poslednji bajt u fajlu i da se vidi pozicija, ona se inkrementira i dobije se velicina fajla u bajtovima. Ako ni to ne moze onda se predajem - nemam vise ideja.
[ RAZZLEDAZZLER @ 13.05.2002. 12:50 ] @
Citat:
leka:
Razlog je svakako da taj fajl moze biti i preko 700 Mb velik...


aaa... chovek govori o bannerima za razmenu
Ako neko stavi banner od 700MB, ...
[ RAZZLEDAZZLER @ 13.05.2002. 16:14 ] @
Citat:
leka:
Najbolje bi bilo ako fseek() radi na remote fajlovima i onda ...


Evo sad pogledah manual u potrazi za ovim odgovorom .. i u odeljku za funkciju fseek() kaze...

May not be used on file pointers returned by fopen() if they use the "http://" or "ftp://" formats.

tako da ... ne moz' tako
[ -zombie- @ 24.06.2002. 06:04 ] @
posto je odgovor na konkretno pitanje dobijen, evo uputstva za one 700MB+ fajlove...

moze da se dobije samo velicina (i josh neki podaci) fajla sa http servera koristeci HEAD http zahtev... to vraca samo informacije o fajlu (da li postoji, velicinu i sl), ali ne i sam fajl...

sami http zahtevi (head, kao i get i post) se izvode preko curl biblioteke: http://php.net/curl , a ako curl nije iskompajliran u php, sa fsockopen() moze da se simulira, ili da se koristi neka vec gotova klasa, kao sto je snupi http://snoopy.sourceforge.net/ (od autora koji je odgovoran za smarty template sistem) ili bilo koja druga (ima puno na hotscripts...)

poz!