Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Upload plikow [Cudi]
Seth
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Uwagi, pytania zwiazane zwiazane z artykulem Cudiego "Upload plikow" prosze pisac w tym temacie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
aleksander
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


Bardzo fajny artykuł, przydał mi się do tworzenia panelu administracyjnego.
Rozbudowałem ten skrypt i chciałbym go przedstawić. Być może komuś on się przyda:

  1. <?php
  2. // NAZWA PLIKU - \"upload.php\" 
  3. // FUNKCJE: 
  4. // - UPLOADOWANIE PLIKU (by Cudi) 
  5. // - FILTR DLA WYBRANYCH TYPOW PLIKOW (http://www.dhtml.helion.pl/cgi-bin/listscript.fcgi?id=124) 
  6. // - UPLOADOWANIE DO WYBRANEGO KATALOGU (LISTA TWORZONA DYNAMICZNIE PRZEZ REKURENCYJNĄ FUNKCJ CZYTANIA KATALOGU ( PHPSolutions nr 02/2004) 
  7. // WSZELKIE SUGESTIE PROSZE ZGLASZAC NA GG:3820945
  8. echo '<script LANGUAGE=\"JavaScript\">
  9. <!-- Begin
  10. extArray = new Array(\".inc\"\".jpg\"\".gif\"); // TABLICA Z ROZSZERZENIAMI PLIKOW KTORE MAJA BYC AKCEPTOWANE DO WYSLANIA
  11. function LimitAttach(form, file)
  12. {
  13. allowSubmit = false;
  14. if (!file) return;
  15. while (file.indexOf(\"\") != -1)
  16. file = file.slice(file.indexOf(\"\") + 1);
  17. ext = file.slice(file.indexOf(\".\")).toLowerCase();
  18. for (var i = 0; i < extArray.length; i++) {
  19. if (extArray[i] == ext) { allowSubmit = true; break; }
  20. }
  21. if (allowSubmit) form.submit();
  22. else
  23. alert(\"Proszę wysyłać tylko pliki graficzne typu: \"
  24. + (extArray.join(\" \")) + \"nProsze wybrać nowy plik \"
  25. \"i wysłać ponownie.\");
  26. }
  27. // End -->
  28. </script>';
  29. if (!isset($_FILES['userfile']['tmp_name']))
  30. {
  31. echo &#092;"Tym skryptem możesz wysyłać pliki na serwer. Można wysyłać tylko pliki <script> document.write(extArray.join(' ')); </script>\";
  32. echo '<form enctype=\"multipart/form-data\" action=\"upload.php\" method=\"POST\" name=\"form\" >
  33. <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\" />
  34. Plik do wysłania:<br>
  35. <select size=\"1\" name=\"dir\">';
  36. // FUNKCJA CZYTAJĄCA KATALOGI DO POLA SELECT
  37. $z = 1;
  38. function list_dir($chdir)
  39. {
  40. global $z;
  41. chdir($chdir);
  42. $handle = opendir('.');
  43. if ($z==1) // JAKO PIERWSZA POZYCJA POJAWI SIE KATALOG GLOWNY (./)
  44. {
  45. $somepath2 = str_replace (&#092;"../\", \"/\", $chdir);
  46. echo &#092;"<option value='c:/usr/apache/httpd/html\".$somepath2.\"'>.\".$somepath2.\"</option><br>n\";
  47. //echo \"./\" . $chdir . \"<br>\";
  48. $z = 0;
  49. }
  50. while ($file = readdir($handle))
  51. {
  52. if(is_dir($file) && $file != &#092;".\" && $file != \"..\") // TU MOZNA WSTAWIC FILTRY, JAKIE KATALOGI NIE MOGA SIE POJAIWC (SKLADNIA: && $file != \"NAZWA_KATALOGU\")
  53. {
  54. $sdirs[] = $file;
  55. }
  56. }
  57. for($i=0; $i<sizeof($sdirs); $i++)
  58. {
  59. $basedir = realpath($sdirs[$i]);
  60. $b1 = str_replace (&#092;"\" , \"/\", $basedir);
  61. $b2 = str_replace (&#092;"c:/usr/apache/httpd/html\", \".\", $b1);
  62. echo &#092;"<option value='\".$b1.\"'>\".$b2.\"</option><br>n\";
  63. list_dir($sdirs[$i]);
  64. chdir(&#092;"..\");
  65. }
  66. }
  67. list_dir(&#092;".\"); // WYWOLANIE FUNKCJI Z PARAMETREM FOLDERU OD KTOREGO MA ZACZAC SKANOWANIE
  68. // KONIEC FUNKCJI CZYTAJĄCEJA KATALOG
  69.  
  70. echo '</select>&nbsp;
  71. <input name=\"userfile\" type=\"file\" />
  72. <input type=button value=\"Wyślij\" onclick=\"LimitAttach(this.form, this.form.userfile.value)\" />
  73. </form>';
  74. }
  75. elseif (isset($_FILES['userfile']['tmp_name'])) // UPLOADOWANIE PLIKU
  76. {
  77. if( is_uploaded_file( $_FILES['userfile']['tmp_name'] ) )
  78. {
  79. $strUploadDir = $_POST['dir'] . &#092;"/\" . $_FILES['userfile']['name']; // TWORZENIE SCIEZKI BEZWZGLEDNEJ NA PODSTAWIE OPCJI WYBRANEJ W POLU SELECT
  80. if( move_uploaded_file( $_FILES['userfile']['tmp_name'], $strUploadDir ) )
  81. {
  82. echo 'Plik został pomyślnie uploadowany! <br />';
  83. }
  84. else
  85. {
  86. echo 'Upload pliku nie powiódł się!';
  87. }
  88. echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r($_FILES, true ) . '</pre>';
  89. echo $strUploadDir; // SCIEZKA BEZWZGLENA UPLOADOWANEGO PLIKU
  90. }
  91. else
  92. {
  93. echo 'Wystąpił błąd podczas wysyłania pliku na serwer!<br>';
  94. }
  95. }
  96. ?>


Dodam tylko że nic nie jest napisane przeze mnie do końca. Upload plików wziąłem od Cudiego, rekurencyjne czytanie katalogu z psp solutions, a filtr wysyłanych plików z www.dhtml.helion.pl. Jednak wszystkie skrypty zostały zmodyfikowane. Inne bardziej, inne mniej.

Ten post edytował Olo 19.12.2004, 14:52:43
Go to the top of the page
+Quote Post

Posty w temacie
- Seth   Upload plikow [Cudi]   21.03.2004, 23:40:03
- - Sm0key   Ja bym proponowal dodanie do tego artykulu obsługi...   22.03.2004, 23:20:23
- - Cudi   Artykuł pokazuje najprostszą drogę do uploadu plik...   23.03.2004, 14:23:24
- - dooshek   CytatArtykuł pokazuje najprostszą drogę do uploadu...   23.03.2004, 23:23:14
- - Cudi   Najprościej jest ustawić na 777 i można być pewnym...   24.03.2004, 13:51:54
- - amr   przeczytałem, skopiowałem i nic.... wyskakuje tylk...   31.03.2004, 03:28:07
- - g0blin   Mam male pytanie zwiazane z tym zagadnieniem, istn...   3.04.2004, 23:38:43
- - KRCreater   CytatJa bym proponowal dodanie do tego artykulu ob...   6.04.2004, 21:10:56
- - LukaszLenart   Mysle, ze troche trzeba wyjasnic. Nie wszyscy uzyw...   7.04.2004, 17:47:45
- - It's_me   CytatPS. Do autora, na przyszlosc moze dodac cos o...   7.04.2004, 19:27:04
- - LukaszLenart   Nie ma problemu, nie napisze o ftp bo nie robilem ...   8.04.2004, 09:01:18
- - scanner   Cytatjak generowac sobie tekst w pionie (odwrocony...   8.04.2004, 10:39:42
- - LukaszLenart   Nigdy nie spotkales sie z tabele ktora ma 60 naglo...   8.04.2004, 11:04:42
- - KRCreater   JA bym proponaował napisać coś o składni SQL'a.   8.04.2004, 12:23:12
- - LukaszLenart   Moze sprecyzuj co chcialbys sie dowiedziec?   8.04.2004, 14:10:33
- - aleksander   Bardzo fajny artykuł, przydał mi się do tworzenia ...   9.04.2004, 12:40:38
- - kwiateek   CytatDodam tylko że nic nie jest napisane przeze m...   9.04.2004, 12:56:18
- - aleksander   rzeczywiście, nie pomyślałem o tym. Już poprawione   9.04.2004, 13:39:27
- - Brick   A czym się różni właściwie funkcja copy od move_up...   15.04.2004, 14:36:19
- - splatch   IMO w manualu jest to samo .   15.04.2004, 14:45:35
- - Krokodyl   A jeżeli zmienna TMP nie jest ustawiona...   23.04.2004, 19:17:15
- - splatch   http://splatch.desk.pl/on/a/tekst/pobieranie.html   27.04.2004, 17:39:49
- - pwa   mam pytanie jak skasowac potem ten plik   12.05.2004, 18:07:53
- - Majdan   pwa, jeżeli chodzi Ci o kod php, to pomyliłeś fora...   12.05.2004, 19:18:15
- - squid   Witam! sprawdzalem kod z artykulu i niby wszys...   8.08.2004, 19:02:24
- - kirov   CytatCzy komuś za pomocą takiego skryptu udało się...   10.08.2004, 12:53:32
- - broU   Większość opisanych w artykule rzeczy działa mi po...   26.08.2004, 13:22:26
- - auto pilot   Witam! A jak można ograniczyć uploadowane pli...   29.08.2004, 17:44:57
- - zYm3N   Z tym kodem administacyjnym do wysyłania plików po...   29.08.2004, 21:07:08
- - nmi   odnosnie tego uploadu jednym z plikow ktore cchc...   20.09.2004, 11:25:40


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: 14.10.2025 - 21:34