Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload plików ze zmianą nazwy
Forum PHP.pl > Forum > PHP
spiochu
Witam,

mam pewien problem. Jestem w trakcie tworzenia bazy danych osób. Podczas wypełniania formularza są również uploadowane 2 zdjęcia (portret + sylwetka). Zależy mi na tym, żeby zdjęcia po uploadzie miały nazwę:

Nazwisko_Portret.jpg
Nazwisko_Sylwetka.jpg

Wszystko przechowywane będzie w bazie danych, ale z tym sobie radzę. Nie mogę jednak dojść do tego jak całkowicie zmienić nazwę uploadowanych plików.
Oczywiście Nazwisko pobierane ze zmiennej z fomularza plus dopisanie Portret/Sylwetka.

Oto kod formularza:

  1. <form action="upload.php" method="post" enctype="multipart/form-data">
  2. <table align="center" border="1" bordercolor="#FFCC00" style="background-color:#FFFFCC" width="600" cellpadding="3" cellspacing="3" class="text">
  3. <tr>
  4. <td align="center" colspan="2" class="text2" style="background-color:#e1d2b9; height:40px">FORMULARZ ZGŁOSZENIOWY FOTOMODELA/KI</td>
  5. </tr>
  6. <tr>
  7. <td width="50%" align="right" class="text2">Imię</td>
  8. <td><input type="text" name="imie" size="30" /></td>
  9. </tr>
  10. <tr>
  11. <td width="50%" align="right" class="text2">Nazwisko</td>
  12. <td><input type="text" name="nazwisko" size="30" /></td>
  13. </tr>
  14. <tr>
  15. <td width="50%" align="center" class="text2">
  16. Zdjęcie - portret<br /><br />
  17. <img src="gfx/hostessa_foto1.gif"><br /><br />
  18. <input type="file" name="file1">
  19. </td>
  20. <td width="50%" align="center" class="text2">
  21. Zdjęcie - sylwetka<br /><br />
  22. <img src="gfx/hostessa_foto2.gif"><br /><br />
  23. <input type="file" name="file2">
  24. <input name="hdnLine" type="hidden" value="2">
  25. </td>
  26. </tr>
  27. <tr>
  28. <td width="50%" align="right"><input type="submit" value="Wyslij" /></td>
  29. <td><input type="reset" value="Wyczysc" /></td>
  30. </tr>
  31. </form>
  32. </body>
  33. </html>


A to kod skryptu odpowiadającego za upload:

  1. <?php
  2. mysql_connect("localhost","root","") or die (mysql_error());
  3. mysql_select_db("bazafoto");
  4.  
  5. for($i=1;$i<=(int)($_POST["hdnLine"]);$i++) {
  6. if($_FILES["file".$i]["name"] != "")
  7. {
  8. if(copy($_FILES["file".$i]["tmp_name"],"fotosy/".$_FILES["file".$i]["name"]))
  9. {
  10. $strSQL = "INSERT INTO gallery ";
  11. $strSQL .="(Picture) VALUES ('".$_FILES["file".$i]["name"]."')";
  12. mysql_query($strSQL);
  13. echo "Zdjęcie ".$_FILES["file".$i]["name"]." dodano poprawnie.<br>";
  14. }
  15. }
  16. }
  17.  
  18. echo "<br><a href='baza.php'>Powrót do listy osób!</a>";
  19. ?>


Proszę o pomoc.
Uriziel01
Chyba nie do końca wiem w czym problem:
  1. move_uploaded_file($tmp_name1, $uploads_dir . $_POST['nazwisko'] . '_portret.jpg');
  2. move_uploaded_file($tmp_name2, $uploads_dir . $_POST['nazwisko'] . '_sylwetka.jpg');


EDIT:
Co do rozszerzenia możesz albo zmieniać wszystkie pliki na jeden format albo pobrać go z nazwy uploadowanego pliku.
spiochu
Wielkie dzięki kolego!
Wychodzi na to, że najprostsze rozwiązanie jest zawsze najdalej smile.gif
Teraz już wszystko wygląda tak jak należy!
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.