Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Upload wielu plików
Forum PHP.pl > Forum > Przedszkole
Thunderbird
Witam, posiadam na swojej stronie prosty skrypt do uploadowania zdjęć przystosowany do niej przeze mnie.

formularz
  1. <form enctype="multipart/form-data" method="post" action="">
  2. <tr>
  3. <td><input type="file" name="plik" size="49" class="tekst" maxlength="255" onclick="this.form.foto.disabled=false;"></td>
  4. </tr>
  5. <tr>
  6. <td><input type="file" name="plik1" size="49" class="tekst" maxlength="255" onclick="this.form.foto.disabled=false;"></td>
  7. </tr>
  8. <tr>
  9. <td><input type="file" name="plik2" size="49" class="tekst" maxlength="255" onclick="this.form.foto.disabled=false;"></td>
  10. </tr>
  11. <tr>
  12. <td><input type="submit" name="foto" value="Dodaj fotografię" disabled></td>
  13. </tr>
  14. </table>
  15. <input type="hidden" name="id_tekst" value="{id_tekst}">
  16. <input type="hidden" name="a" value="add_foto">
  17. </form>


funkcja która dodaje id do nazwy fotosa i parę innych rzeczy

  1. <?php
  2. function add_foto($request)
  3. {
  4. include('../config/config.php');
  5. if (is_uploaded_file($_FILES['plik']['tmp_name']))
  6. {
  7. move_uploaded_file($_FILES['plik']['tmp_name'], $conf["path"]["foto"] . $request["id_tekst"] . "_" . conv_file_name($_FILES['plik']['name'])) or die("błąd move uploaded file" . $conf["path"]["foto"] . $request["id_tekst"] . "_" . conv_file_name($_FILES['plik']['name']));
  8. chmod($conf["path"]["foto"] . $request["id_tekst"] . "_" . conv_file_name($_FILES['plik']['name']),0664);
  9. conv_image($request["id_tekst"] . "_" .conv_file_name($_FILES['plik']['name']),$conf["foto"]["width"]);
  10. $insert_foto=mysql_query("INSERT INTO " . $GLOBALS["conf"]["database"]["mod"] . "foto SET id_foto='', id_tekst='" . $request["id_tekst"] . "', foto='" . $request["id_tekst"] . "_" .conv_file_name($_FILES['plik']['name']) . "'") or die(mysql_error() . "Błąd insert foto");
  11. }
  12. else
  13. {
  14. echo "Possible file upload attack. Filename: " . $_FILES['userfile']['name'];
  15. }
  16. goto_url("?a=edit_tekst&id=" . $request["id_tekst"]);
  17. }
  18. ?>


Jak je przerobić aby można było wiele obrazków na raz wysyłać ?

Umiem zrobić formularze, ale gorzej z funkcją. Pomocy exclamation.gif! (byłem już w manualu na php.net, ale nie pomógł)
parzygnat
To jest przerobiona Twoja funkcja. Krótko mówiąc dodałem pętle foreach() i z niej wynika to ze zamiast 'plik' wstawiasz $klucz1. Jakbys miał jakieś pytania to pisz, powinno działać

  1. <?php
  2. function add_foto($request)
  3. {
  4. include('../config/config.php');
  5. foreach($_FILES as $klucz1 => $wartosc1){
  6. if (is_uploaded_file($_FILES[$klucz1]['tmp_name']))
  7. {
  8. move_uploaded_file($_FILES[$klucz1]['tmp_name'], $conf["path"]["foto"] . $request["id_tekst"] . "_" . conv_file_name($_FILES[$klucz1]['name'])) or die("błąd move uploaded file" . $conf["path"]["foto"] . $request["id_tekst"] . "_" . conv_file_name($_FILES[$klucz1]['name']));
  9. chmod($conf["path"]["foto"] . $request["id_tekst"] . "_" . conv_file_name($_FILES[$klucz1]['name']),0664);
  10. conv_image($request["id_tekst"] . "_" .conv_file_name($_FILES[$klucz1]['name']),$conf["foto"]["width"]);
  11. $insert_foto=mysql_query("INSERT INTO " . $GLOBALS["conf"]["database"]["mod"] . "foto SET id_foto='', id_tekst='" . $request["id_tekst"] . "', foto='" . $request["id_tekst"] . "_" .conv_file_name($_FILES[$klucz1]['name']) . "'") or die(mysql_error() . "Błąd insert foto");
  12. }
  13. else
  14. {
  15. echo "Possible file upload attack. Filename: " . $_FILES['userfile']['name'];
  16. }
  17. goto_url("?a=edit_tekst&id=" . $request["id_tekst"]);
  18. }
  19. }
  20. ?>
Thunderbird
Coś jest nie tak, bo nadal wysyła jeden plik. Co do twojej funkcji to jest dobra, dziwię się sobie, ze zapomniałem o pętli foreach().
MiFlo
w formuarzu zmień z zmienną plik na tablice, (plik[] )
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.