Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] błąd filesize()
-Gość-
post
Post #1





Goście







witam,
mam taka funkcje:
  1. <?php
  2. function DownloadFile($file,$nazwa) { // $file = include path
  3.  
  4.            header('Content-Description: File Transfer');
  5.            header('Content-Type: application/octet-stream');
  6.            header('Content-Disposition: attachment; filename='.$nazwa);
  7.            header('Content-Transfer-Encoding: binary');
  8.            header('Expires: 0');
  9.            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  10.            header('Pragma: public');
  11.            header('Content-Length: ' . filesize($file));
  12.            ob_clean();
  13.            flush();
  14.            readfile($file);
  15.    }
  16. ?>


lecz przy uzyciu czasami wywala mi blad:
Warning: filesize(): Stat failed for http://cycu1989.wrzuta.pl/aud/file2/7VZc5AbBIJ/ekwador_11 (errno=2 - No such file or directory) in /home/qqqqq/qqqqq/qqqqq/qqqqq/qqqqq/funkcje.php on line <b>11

czym to moze byc spowodowane ? jak to naprawic?

pzdr!
Go to the top of the page
+Quote Post
hiszpanespaniol
post
Post #2





Grupa: Zarejestrowani
Postów: 213
Pomógł: 39
Dołączył: 7.04.2008
Skąd: 3city

Ostrzeżenie: (0%)
-----


może to zabezpieczenie przed hotlinkowaniem na wrzuta.pl? "no such file or directory" czyli nie ma takiego pliku lub katalogu. linki do plików się zmieniają, żeby nie było sytuacji że ktoś hotlinkuje. możliwe, że Twoja funkcja bedzie działać jedynie dla tych plików które wgrałes i dostałeś do nich link od serwisu wrzuta.pl, a nie do tych np. przeglądanych normalnie w serwisie.

edit:
racja erix. mnie zmyliło, ze kolega napisał "czasem" i już nie pomyślałem.

Ten post edytował hiszpanespaniol 16.11.2008, 23:59:42


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Plik dla funkcji IO w PHP (w tym filesize" title="Zobacz w manualu PHP" target="_manual) MUSI być dostępny dla systemu plików serwera. winksmiley.jpg

Stąd nie da się pobrać rozmiaru w ten sposób. tongue.gif

Zajrzyj do manuala dla filesize" title="Zobacz w manualu PHP" target="_manual, w komentarzach znajdziesz rozwiązanie. winksmiley.jpg


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
--chez--
post
Post #4





Goście







gdyz moj serwer ma ograniczone wiekszosc funkcji poradzilem sobie w inny sposob, zaraz dam rozwiazanie, dzieki Ci erix i hiszpanespaniol winksmiley.jpg)

Cytat
function hHeader($urll){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urll);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$r = curl_exec($ch);
return $r;
}
function DownloadFile($file,$nazwa) { // $file = include path

preg_match_all('|Location:(.*)Vary:|ismUu', hHeader($file), $wynik);
$wynik = trim($wynik[1][0]);
$header = hHeader($wynik);

preg_match_all('|Length:(.*)Last|ismUu', $header, $out);
$lLength = $out[1][0];
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:25