Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Download i upload plików
Maniek1313
post
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Witam wszystkich mam 2 pytanie. A mianowicie chciałbym się dowiedzieć czy są jakieś gotowe polecenia w php umożliwiające wyświetlenie w tabeli listy plików , które znajdują się np. w folderze download i żeby po kliknięciu na nazwę pliku móc pobrać ten plik.

A moje drugie pytanie brzmi czy są jakieś gotowe polecenia umożliwiające upload plików na serwer (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Tak, możesz to zrobić poleceniem glob, a co do uploadu move_uploaded_files. Tego na forum jest pełno wystarczy poszukać i przetestować niektóre rozwiązania.
Go to the top of the page
+Quote Post
Maniek1313
post
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Zrobiłem tak ale nie chce pobierać plików np. php inne typy plików jak np. rar pobiera dobrze.

  1. <?php
  2. foreach (glob("*.*") as $filename) {
  3. echo '<table width="100%" border="0">
  4. <tr>
  5. <td width="49%"><a href="'.$filename.'">'.$filename.'</a> rozmiar : </td>
  6. ';
  7. $rozmiarmb = filesize($filename) / 1000000;
  8. $rozmiarkb = filesize($filename) / 1000;
  9. echo' <td width="51%">'.number_format($rozmiarmb,2,',','').' mb ('.number_format($rozmiarkb,2,',','').' kb)</td>
  10. </tr>
  11. </table>';
  12. }
  13. ?>
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


W foreachu dajesz table, raczej table definiuj przed foreach. Dla glob możesz ustalić jakie typy plików funkcja ma szukać. A jak pobierasz plik? Masz jeszcze taką funkcje jak patrhinfo, skąd możesz wyciągnąć rozszerzenie pliku. Poczytaj sobie komentarze do GLOB, tam również masz rozwiązania.
Go to the top of the page
+Quote Post
Maniek1313
post
Post #5





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Czyli pobiera się pliki funkcją GLOB tak (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) czy źle coś zrozumiałem (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
peter13135
post
Post #6





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


glob nie pobiera plików (cokolwiek by to nie znaczyło) tylko wyszukuje pliki z danego folderu.
Go to the top of the page
+Quote Post
Maniek1313
post
Post #7





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


A to jaką funkcję pobiera się pliki (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował Maniek1313 27.08.2011, 14:15:44
Go to the top of the page
+Quote Post
Robert007
post
Post #8





Grupa: Zarejestrowani
Postów: 167
Pomógł: 2
Dołączył: 1.07.2009
Skąd: Poznań

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


opendir
Go to the top of the page
+Quote Post
peter13135
post
Post #9





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Cytat(Maniek1313 @ 27.08.2011, 14:29:25 ) *
A to jaką funkcję pobiera się pliki (IMG:style_emoticons/default/questionmark.gif)

O co Ci tak właściwie chodzi ? Chcesz pobrać plik za pomocą PHP ?
jak masz ścieżkę do pliku taką : htdocs/pliki/plik.zip to user pobierze go wpisując do przeglądarki : www.adres.pl/pliki.pliki.zip
Ty oczywiście możesz zautomatyzować to wpisywanie, robiąc link <a href="tutaj_link">lalal</a>
Listę plików możesz z danego folderu możesz otrzymać globem, czy scandirem
Go to the top of the page
+Quote Post
Maniek1313
post
Post #10





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


A jak zrobić żeby móc pobierać też takie pliki jak .php , czy .txt.
Go to the top of the page
+Quote Post
peter13135
post
Post #11





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


"force-download" - wpisz w google, poczytaj
Go to the top of the page
+Quote Post
Maniek1313
post
Post #12





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Dzięki działa już (IMG:style_emoticons/default/biggrin.gif)

Znalazłem na stronach 2 kody i połączyłem je w jeden

To jest plik download.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Dokument bez tytułu</title>
  6. </head>
  7. <body>
  8. <table width="50%" border="2">
  9. <?php
  10. foreach (glob("pliki/*.*") as $filename) {
  11. echo '<tr><td align=center width="33%">'. $filename .'</td><td align=center width="33%">size ' . filesize($filename) . '</td>';
  12. echo '<td align=center width="33%">
  13. <form id="form" name"form" method="post" action="pobierz.php">
  14. <input type="hidden" name="link" value="'.$filename.'" />
  15. <input name="pobierz" type="submit" value="Pobierz" />
  16. </form></td></tr>';
  17. }
  18. ?>
  19. </table>
  20. </body>
  21. </html>



A o to plik pobierz.php :

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Dokument bez tytułu</title>
  6. </head>
  7. <body>
  8. <?php
  9. $link = $_POST['link'];
  10.  
  11. if (file_exists($link)) {
  12. header('Content-Description: File Transfer');
  13. header('Content-Type: application/octet-stream');
  14. header('Content-Disposition: attachment; filename='.basename($link));
  15. header('Content-Transfer-Encoding: binary');
  16. header('Expires: 0');
  17. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  18. header('Pragma: public');
  19. header('Content-Length: ' . filesize($link));
  20. flush();
  21. readfile($link);
  22. }
  23. ?>
  24. </body>
  25. </html>


Pliki .php , .html , .css itd pobiera normalnie ale za to pliki np. .mp3 już nie pobiera (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) W czym jest problem (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)

PS już znalazłem przyczynę problemu "spacja w nazwie pliku"

Mam pytanie da radę jakoś podczas wczytywania do zmiennej nazwy pliku usuwać spację i polskie znaki.

(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował Maniek1313 30.08.2011, 12:30:53
Go to the top of the page
+Quote Post
peter13135
post
Post #13





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


str_replace (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 3.10.2025 - 03:31