simon111
30.10.2008, 21:28:15
Witam
Udało mi się spłodzić skrypt, który wrzuca pliki do katalogu na serwerze. Niestety nie mam pomysłu jaki napisać plik, który by te pliki wyświetlał i można byłoby je po kliknięciu ściągnąć na HDD. Bardzo proszę o pomoc w tej sprawie, bo nic mi już nie przychodzi do głowy. Z góry dziękuję za wszelkie sugestie.
Pozdrawiam Simon.
maniekl2
30.10.2008, 21:32:02
no żeby pobierać musisz po prostu stworzyć podstronę z linkiem do danego pliku przykładowo www.twojastrona.pl/pliki/download.zip
możesz zrobić skrypt w tym stylu
<?php
echo "<a href=http://twojastrona.pl/pliki/".$_GET['plik']."> Download</a>"; ?>
i przesyłać nazwę pliku zmienna GET
druga opcja to baza danych
simon111
30.10.2008, 22:11:01
Bazę danych chciałem pominąć i zrobić to tylko na plikach. A chodzi mi konkretnie o to, żeby skrypcik PHP przeglądał dany folder i na stronce wyświetlał automatycznie wszystkie pliki gotowe do pobrania z tego właśnie folderu...
Jakiś pomysł na to?
maniekl2
30.10.2008, 22:19:47
YaQzi
30.10.2008, 23:02:33
Cytat(maniekl2 @ 30.10.2008, 22:19:47 )

Albo to, albo metoda "na lenia", czyli dajesz link do katalogu z plikami i jeśli nie ma w nim pliku
index powinna się wyświetlić lista plików. Klikasz i pobierasz. ;P
simon111
31.10.2008, 08:23:51
Ok, poszedłem za waszą radą i skołowałem coś takiego:
<?php
$directory="folder";
$file_list="<a href='folder/$file_name'>";
{
if(($file_name!=".")&&($file_name!=".."))
{
$file_list.="<LI>$file_name";
}
}
$file_list.="</a>";
Pliki w $directory:
$file_list";
?>
Ale teraz wyświetla mi tylko link do pliku, a ja nie chce tam przechodzić tylko pobrać. Czy powinienem dodać jakiś atrybut, czy może dodać jakiegoś header'a.
maniekl2
31.10.2008, 09:06:00
Jak klikniesz w ten link to powinno pojawić się okienko zapisz lub otwórz za pomocą. Chyba że masz tam pliki *.php lub *.html itp. Jakie masz tam pliki ?
simon111
31.10.2008, 09:12:04
Tam są zwykłe tekstowe pliczki *.txt, w przyszłości dorzucę może *.doc, ewentualnie *.pdf...
maniekl2
31.10.2008, 09:20:00
pliki *.txt się otwierają w przeglądarce, zaś pliki *.doc i *.pdf trzeba już pobrać. Więc jak chcesz mieć mniej problemów to wrzucaj na serwer te właśnie pliki.
golaod
31.10.2008, 09:27:28
A może tak zamiast linków bezpośrednio do pliku napisać skrypt wysyłający do przeglądarki plik (np. dzięki parametrom z get) ? Dzięki temu nawet txt się nie otworzy w przeglądarce
simon111
31.10.2008, 09:38:24
Wrzuciłem sobie właśnie doc'a, ale efekt ten sam, tzn. wyświetla mi stronę "Index of..." gdzie mam wyświetlone pliki w katalogu wraz z katalogiem głównym na samej górze. Jak dopiero kliknę na pliczek to wyskakuje okienko z możliwością pobrania.
Nie chciałbym, żeby przerzucało mnie do katalogu (tylko od razu robiło to pobieranie) ponieważ wówczas user może wędrować po całej strukturze folderów na stronie.
A propos wypowiedzi golaod: To w jaki sposób należałoby użyć tego get'a, bo jak dotąd to spotkałem się z nim tylko przy przesyłaniu formularzy?
maniekl2
31.10.2008, 09:48:09
ten twój skrypt jest zły spróbuj tak i plik doc :
<?php
$directory="folder";
{
if(($file_name!=".")&&($file_name!=".."))
{
$file_list .="<li><a href=folder/".$file_name."'>".$file_name."</a></li>";
}
}
Pliki w $directory:
$file_list";
?>
simon111
31.10.2008, 11:05:33
Brawo maniekl2.
Działa wyśmienicie (pominąłeś tylko jeden apostrof w 11 linii - ale to szczegół).
Naprawde serdecznie dziekuję za pomoc, życzę pomyślnych wiatrów, jeszcze raz dzieki, pozdrawiam, nara.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.