![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 19.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przychodzę do Was z kolejnym problemem. Mam taki formularz:
Kod /////////// ///////////////// // Settings $upload_maxsize = 2097152; $upload_extensions = array( ".gif", ".GIF", ".jpg", ".JPG", ".jpeg", ".JPEG", ".png", ".PNG" ); $upload_folder = BASEDIR."galeria/zdjecia/"; if (isset($_POST['zglos'])) { if ($_POST['tytul'] != "" && $_POST['opis'] != "") { $upload = $_FILES['upload']; if ($upload['name'] != "" && !empty($upload['name']) && is_uploaded_file($upload['tmp_name']) && $upload['size'] <= $upload_maxsize) { $upload_ext = strrchr($upload['name'],"."); if (in_array($upload_ext, $upload_extensions)) { $upload_name = $upload['name']; move_uploaded_file($upload['tmp_name'], $upload_folder.$upload_name); chmod($upload_folder.$upload_name,0777); } else { $upload_error = $locale['fup124']; } } else { $upload_error = $locale['fup125']; } echo "<center><br> ".(!isset($upload_error) ? "" : $upload_error)."<br><br> </center>\n"; ///// $dodawanie = dbquery("insert into galeria_usera_zdjecia (id_zdjecia,autor,album,tytul,opis,upload) VALUES ('', '".$userdata['user_id']."', '".$_POST['album']."','".$_POST['tytul']."', '".$_POST['opis']."', '".$upload['name']."')"); echo '<center><b><span style="color: rgb(247, 80, 19);">Dodano zdjęcie!</span></b></center>'; } else { echo '<center><b><span style="color: rgb(247, 80, 19);">Nie dodano zdjecia! Wypełnij formularz do końca!</span></b></center>'; } } else { echo ' <center> <form action="" method="POST" enctype="multipart/form-data"> <table border="0" style="border-collapse: collapse"> <tr> <td>Nazwa zdjecia:</td> <td><input type="text" class="textbox" value="" name="tytul" style="width:200"></td> </tr> <tr> <td>Opis zdjecia:</td> <td><input type="text" class="textbox" value="" name="opis" style="width:200"></td> </tr> <tr> <td>Upload:</td> <td> <input type=\'file\' name="upload" class=\'textbox\' style=\'width:250px;\'> </td> <tr> <td>Album:</td><td> <select name="album" class="textbox">'; $zapytanie = dbquery("SELECT * FROM galeria_usera_album WHERE autor = '".$userdata['user_id']."' ORDER BY id_albumu DESC LIMIT 0,6"); while($data = dbarray($zapytanie)){ echo"<option> ".$data['nazwa']." </option>"; } echo' </select> </td> </tr> </table> <br> <input type="submit" class="button" value="Zgło¶ pracę" name="zglos"> </form></center> '; } Jest to galeria usera, każdy user może dodać zdjęcie ale problem jest taki że jak user 1 doda zdjęcie o nazwie xyz.jpg i user 2 albo nawet ten sam doda kolejne zdjecie o takiej samej nazwie (choć zupełnie inne) to pierwsze zdjecie zostanie zastąpione tym nowym. I moje pytanie brzmi jak to poprawić chciałem użyć takiego kodu: Kod $pokaz="".BASEDIR."galeria/zdjecia/".$upload.""; jednakże za każdym razem pokazuje mi się zdjęcie istnieje przy wysyłaniu forumularza. Choć takie zdjęcie nie istnieje. Mogę liczyć na Waszą pomoc? if (file_exists($pokaz)) { echo"zdjecie istnieje"; } else { Dodanie pol do bazy i zdjecia do folderu } ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 5 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Może do nazwy dodawaj wygenerowany ciąg znaków, którego szansa na powtórzenie się jest niewielka?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 19.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
No w sumie pomysł nie jest zły tylko że musiało by ten ciąg znaków (taki sam) wysyłać również do bazy. I pytanie jak to zrobić...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
do nazwy nic nie dodawaj (tzn. trzymaj ją w SQL), ale pliki zapisuj tylko w postaci id zdjęcia takiego, jaki mają w SQL
PS. oczywiście zmienisz wtedy trochę kolejność, tj. najpierw dodasz do bazy, potem pobierz id tego zdjęcia funkcją `mysql_insert_id` i teraz dopiero przesun plik, a za $upload_name daj własnie id Ten post edytował rzymek01 26.01.2009, 21:02:22 -------------------- :]
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 19.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za radę
![]() <piwo> |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- :]
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 16:40 |