Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML]Upload wielu plików
Thunderbird
post 20.05.2008, 21:19:30
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.05.2008

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


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ł)
Go to the top of the page
+Quote Post
parzygnat
post 20.05.2008, 23:03:23
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 6
Dołączył: 31.12.2007
Skąd: Poznań

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


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. ?>
Go to the top of the page
+Quote Post
Thunderbird
post 21.05.2008, 19:42:58
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.05.2008

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


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().
Go to the top of the page
+Quote Post
MiFlo
post 21.05.2008, 20:39:00
Post #4





Grupa: Zarejestrowani
Postów: 92
Pomógł: 4
Dołączył: 12.09.2006
Skąd: 127.0.0.1

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


w formuarzu zmień z zmienną plik na tablice, (plik[] )
Go to the top of the page
+Quote Post

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: 13.07.2025 - 12:12