Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodanie zdjecia do bazy i na serwer
Forum PHP.pl > Forum > PHP
wozniak
Witam potrzebuje taki skrypt ktory doda zdjecie na serwer i do bazy zrobiłem tak:
index.html
Kod
<form action="dodaj.php" method="post" enctype="multipart/form-data">
   Foto 1: <input type="file" name="foto1">Miniaturka: <input type="file" name="mini1"><br><br>
   Foto 2: <input type="file" name="foto2">Miniaturka: <input type="file" name="mini2"><br><br>
      <input type="submit" name="Submit" value="Wyślij">

dodaj.php
  1. <?php   
  2.    
  3.    //Kod php ktory zapisze zdjecie na serwer 
  4.    
  5.    include(&#092;"konfiguracja.php\"); 
  6.     
  7. include('polaczenie.php'); 
  8.         {
  9.            $query = sql(&#092;"INSERT INTO foto SET foto1='$foto1', mini1='$mini1', foto2='$foto2', mini2='$mini2';\");
  10.         
  11.     }
  12. ?>
i teraz jaki zrobic kod php ktory zapisz mi te pliki na serwerku?

Dodałe:

Znalazłem takie cos:
  1. <?php
  2.  
  3. $DOCUMENT_ROOT = in ;
  4.  copy($userfile, &#092;"$DOCUMENT_ROOT/$userfile_name\")
  5. ?>


tylko jak zrobic zeby on 4 pliki pobierał?
Jak zmieniłem zmienna $userfile na np.$plik1 to juz było zle!
Kshyhoo
Dlaczego nie używacie wyszukiwarki?
Znalezione NA TYM FORUM, niestety, nie pamiętam autora:
=======================================================
Upload plików

Jedną z bardzo przydatnych funkcji w php jest możliwość prostego Uploadu dowolnych plików na serwer. Poniższy przykład przedstawia najprostszą metodę zbudowania Uploadera plików. Nie zapomnij w formularzu o dodaniu: enctype="multipart/form-data"
co pozwala na wysłanie informacji z załącznikiem. formularz na stronie wysyłającej:

formularz.htm
------------------------------------------------
  1. <form name="kopiarka" method="POST"
  2. enctype="multipart/form-data" action="upload.php3">
  3. <input type="hidden" name="ok" value="1">
  4. <input type="hidden" name="MAX_FILE_SIZE" value="10000"><p>Wybierz plik do przerzucenia:<br>
  5. <input type="file" name="file" size="40"><br>
  6. <br>
  7. <input type="submit" value="Kopiuj"><input type="reset" value="Reset"></p>
  8. </form>
  9. </html>


skrypt przyjmujący wysłany plik: (katalog do, którego przerzucane będą pliki oraz w którym znajdzie się skrypt musi mieć ustawione prawa na 777). Wartość formularza "MAX_FILE_SIZE" określa maksymalny rozmiar pliku w bajtach, jaki może zostać skopiowany.

upload.php3
------------------------------------------------
  1. <?
  2. if ($ok==&#092;"1\"){ /* działanie tylko jeśli użyto formularza */
  3. copy(&#092;"$file\", \"katalog/$file_name\"); /* kopiowanie */
  4. unlink(&#092;"$file\");
  5. echo&#092;"Plik został skopiowany<br>
  6. Informacje o skopiowanym pliku:<br>
  7. Nazwa pliku: $file_name<br>
  8. Wielkość pliku: $file_size&#092;"; /* Potwierdzenie i informacja o skopiowanym pliku */
  9. }
  10. else {
  11. echo&#092;"Wystapił bład przy kopiowaniu pliku\"; /* Informacja o błędzie */
  12. }
  13. ?>


Zmienne $file_name oraz $file_size nadawane są automatycznie, można je zastosować np. stosując inną metodę blokowania plików jeśli ich wielkość przekracza określony przez nas maksymalny rozmiar lub mamy wymusić określoną nazwę pliku. Możemy to zrobić na przykład tak:

  1. <?
  2. if ($ok!=&#092;"1\"){
  3. }
  4. elseif (($file_size<&#092;"10000\") && ($file_name==\"foto.jpg\")){
  5. copy(&#092;"$file\", \"katalog/$file_name\");
  6. unlink(&#092;"$file\");
  7. echo&#092;"Plik został skopiowany<br>
  8. Informacje o skopiowanym pliku:<br>
  9. Nazwa pliku: $file_name<br>
  10. Wielkość pliku: $file_size bajtów&#092;";
  11. }
  12. else {
  13. echo&#092;"Wystapił bład przy kopiowaniu pliku.
  14. Zła nazwa lub została przekroczona maksymalna wielkość pliku&#092;"; /* Informacja o błędzie */
  15. }
  16. ?>
wozniak
Ale ten skrypt daje mozliwosc wysłania tylko jednego pliku!
Zrobiłem tak:
  1. <?
  2.  
  3. copy(&#092;"$file1\", \"in/$file1_name\"); /* kopiowanie */
  4. unlink(&#092;"$file1\");
  5. echo&#092;"Plik został skopiowany<br>
  6. Informacje o skopiowanym pliku:<br>
  7. Nazwa pliku: $file1_name<br>
  8. Wielkość pliku: $file1_size&#092;"; /* Potwierdzenie i informacja o skopiowanym pliku */
  9. ?>
  10. <?
  11.  
  12. copy(&#092;"$file2\", \"in/$file2_name\"); /* kopiowanie */
  13. unlink(&#092;"$file2\");
  14. echo&#092;"Plik został skopiowany<br>
  15. Informacje o skopiowanym pliku:<br>
  16. Nazwa pliku: $file2_name<br>
  17. Wielkość pliku: $file2_size&#092;"; /* Potwierdzenie i informacja o skopiowanym pliku */
  18. ?>
  19. <?php      
  20.  
  21.  print(&#092;"$userfile\");   
  22. include('polaczenie.php'); 
  23.   
  24.                   $data=date(&#092;"d-m-y\");
  25.                 $godz=date(&#092;"H:i\");
  26.    $query = sql(&#092;"INSERT INTO foto SET foto1='$file1', foto2='$file2', foto3='$aNewName', foto4='$data';\");
  27. ?>
Ale do bazy plik1 dodał tak : C:/Program Files/WebServ/temp/file-uploadsphp223.t... zamiast 01.jpg

Dobra działa:
  1. <?
  2.  
  3. copy(&#092;"$file1\", \"in/$file1_name\"); /* kopiowanie */
  4. unlink(&#092;"$file1\");
  5. echo&#092;"Plik został skopiowany<br>
  6. Informacje o skopiowanym pliku:<br>
  7. Nazwa pliku: $file1_name<br>
  8. Wielkość pliku: $file1_size&#092;"; /* Potwierdzenie i informacja o skopiowanym pliku */
  9. ?>
  10. <?
  11.  
  12. copy(&#092;"$file2\", \"in/$file2_name\"); /* kopiowanie */
  13. unlink(&#092;"$file2\");
  14. echo&#092;"Plik został skopiowany<br>
  15. Informacje o skopiowanym pliku:<br>
  16. Nazwa pliku: $file2_name<br>
  17. Wielkość pliku: $file2_size&#092;"; /* Potwierdzenie i informacja o skopiowanym pliku */
  18. ?>
  19.  
  20.  
  21. <?php   
  22.  
  23.  print(&#092;"$userfile\");  
  24. include('polaczenie.php'); 
  25.  
  26. $data=date(&#092;"d-m-y\");
  27. $godz=date(&#092;"H:i\");
  28.  $query = sql(&#092;"INSERT INTO foto SET foto1='$file1_name', foto2='$file2_name', foto3='$aNewName', foto4='$data';\");
  29. ?>
dasko
Proponuje najpierw zajrzeć do Wortalu->Artykuly->Upload Plików

Nawet jeśli kody wyżej działaja, nie mam sensu cofać się do PHP3 - stosujcie tablice $_FILES[].
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.