Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Upload wielu plików naraz
Michal2451
post 22.08.2012, 01:17:54
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 4.12.2010

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


Cześć!
Piszę skrypt i chciałbym, żeby można było wysyłać kilka zdjęć na raz i żeby dodawało ścieżki do bazy.
Może mi ktoś wytłumaczyć jak to zrobić? Bo nie mam zielonego pojęcia.
Wiem, że pierwszą rzeczą to:
  1. <input type="file" name="nazwa" multiple="multiple">

Następnie jak w php i mysql? Napisałem skrypt na wysyłanie pojedynczych zdjęć i dobrze działa.
Teraz potrzebuję go przerobić. Proszę o pomoc.

Pozdrawiam!


A tutaj mój skrypt na pojedyncze obrazki.
index.php:
  1. <form action="dodaj.php" method="post" enctype="multipart/form-data" name="form1">
  2. <center>
  3. Kto wysyła?<br>
  4. <input type="text" name="autor" maxlength="18" /><br><BR>
  5. Adres email<BR>
  6. <input type="text" name="email" maxlength="40" /><br><BR>
  7. Wiadomość<br>
  8. <textarea cols="40" rows="7" name="wiadomosc"></textarea><BR><BR>
  9. </center>
  10. <table width="422" border="1" align="center" bordercolor="#0000FF" bgcolor="#C0C0C0">
  11. <tr>
  12. </tr>
  13. <tr>
  14. <th width="444" scope="row"><input name="plik" type="file" size="50"/>
  15. <input name="max_file_size" type="hidden" value="4194304" /></th>
  16. </tr>
  17. <tr>
  18. <th scope="row"><input value="Wyślij plik" type="submit" /> </th>
  19. </tr>
  20. </table>
  21. </form>

dodaj.php:
  1. <?php
  2. include("config.php");
  3.  
  4. $p_pojemnosc=$_FILES['plik']['size'];
  5. $p_typ=$_FILES['plik']['type'];
  6. $p_nazwa=$_FILES['plik']['name'];
  7. $p_smiec=$_FILES['plik']['tmp_name'];
  8. $autor=$_POST['autor'];
  9. $email=$_POST['email'];
  10. $wiadomosc=$_POST['wiadomosc'];
  11. $data = date('Y-m-d-G:i:s');
  12.  
  13. $p_roz= array_pop(explode(".", $p_nazwa));
  14. $max_size=round(($_POST['max_file_size']/1048576),3)."MB";
  15. $poj_MB=round(($p_pojemnosc/1048576),2).'MB';
  16.  
  17. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  18. $folder="upload/";
  19.  
  20. $ext = substr( $p_nazwa, strrpos( $p_nazwa, '.' ) +1 ); //wyciąganie rozszerzenia
  21. $dozwolone = array('png', 'gif', 'jpg'); //dozwolone rozszerzenia
  22.  
  23. if (in_array($ext, $dozwolone)) { //sprawdzanie czy rozszerzenie jest poprawne
  24.  
  25. if ($p_pojemnosc <= 0)
  26. {
  27. echo ("Plik jest pusty nie mogę go przesłać <b>".$p_nazwa." ".$poj_MB."</b><br />");
  28. echo "<a href=index.php>Wróć</a>";
  29. }
  30.  
  31. if ($poj_MB > $max_size)
  32. {
  33. echo("Plik jest za duży maksymalnie można wysłać <b>".$max_size."</b>"." .Plik wysyłany ma rozmiar <b><i>".$poj_MB."</b></i><br />");
  34. echo "<a href=index.php>Wróć";
  35. }
  36.  
  37. if (file_exists($folder.$p_nazwa_zm))
  38. {
  39. echo ("Plik o takiej nazwie jest już na serwerze <b><i>".$p_nazwa_zm."</b></i><br />");
  40. echo "<a href=index.php>Wróć";
  41. }
  42. else {
  43. if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  44. exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  45.  
  46. echo "Przeslanie udało się - <b>".$p_nazwa."</b>"." ".$poj_MB."<br />";
  47. $path_file="$folder"."$p_nazwa_zm";
  48.  
  49. $zapytanie=mysql_query("insert into pliki values('','$p_pojemnosc','$path_file','$p_typ','$autor','$email','$wiadomosc','$data')");
  50. echo "<a href=index.php>Wróć";
  51. }
  52. } else {
  53. echo ("Niedozwolony typ pliku!");
  54. echo "<a href=index.php>Wróć";
  55. }
  56.  
  57. ?>



Ten post edytował Michal2451 22.08.2012, 01:21:19
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:07