We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Wysyłanie plików użytkownikowi


slewin
16-12-2008, 13:41
wina leży w nadaniu praw do katalogu i praw plików . Zmień chmod np na 644 , jesli nie wiesz o co biega zobacz na http://pl.wikipedia.org/wiki/Chmod

lepiej ściągnij gotowy skrypt download , np z hotscript.pl lub jakieś innej strony .

Godlark
08-12-2008, 21:19
Mam skrypt:
Kod PHP:
$typ "application/octet-stream";
if(
'GET' == $_SERVER['REQUEST_METHOD'] )
{
    
$filename $_GET['plik'];
}
elseif(
'POST' == $_SERVER['REQUEST_METHOD'] )
{
    
$filename $_POST['plik'];
}
if (
file_exists($filename))//sprawdzenie czy istnieje plik
{
    if(
$_plik fopen($filename"r"))
    {
        
$rozmiar filesize($filename);
        
$zawartosc fread($_plik$rozmiar);
        
fclose($_plik);
    
        
//wysłanie nagłówka    
        
header("Content-Type: $typ"); 
        
header("Content-Length: $rozmiar;");
        
header("Content-Disposition: attachment; filename=$filename");
        echo 
$zawartosc;
    }
    else echo 
"Nie da się odczytać pliku";
}
else echo 
"Plik nie istnieje";
?>
w pliku /Downloads/index.php
Pliki do pobrania są umieszczone w katalogu /Downloads.
Aby wywołać skrypt trzeba wpisać http://zadis.ovh.org/Downloads/index...ik=nazwa_pliku.
Problem w tym, że jeśli wpiszę nazwę pliku nieistniejącego to jakimś cudem są spełniane dwa warunki: file_exists($filename) oraz $_plik = fopen($filename, "r") . Proszę samemu przetestować.
I jeszcze jedno plik comment.txt normalnie się pobiera, ale plik a1.pdf pobiera się w 435 bajtach.
Mógłby mi ktoś powiedzieć o co chodzi?

Zauważyłem jeszcze, że chociaż plik a1.pdf jest w katalogu na mojej stronie http://zadis.ovh.org, to po wpisaniu całej nazwy do niego, tzn. http://zadis.ovh.org/Downloads/a1.pdf wypisuje mi, że plik nie istnieje.

Z góry dziękuje za odpowiedzi.

Nie wiem co się stało przez te godziny, ale zaczęło działać