Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmiana nazwy przy uploadzie zdjęcia
szczalpi
post
Post #1





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


Witam
Mam problem z ze zmianą nazwy pliku. Zrobiłem, że do nazwy pliku dodaje numer rekordu, ale dalej pojawia się nazwa wgrywanego pliku.
Chciałbym,aby była mozliwość zmiany nazwy pliku. Teraz kiedy wgrywam plik np. z polskimi znakami to źle wyswietla mi na stronie. To są zdjęcia.
Chciałbym zrobić tak, aby zapis pliku wyglądał następująco 1257_1.jpg, gdzie _1 będzie jako pierwsze zdjęcie.
Proszę was o pomoc. Poniżej podaje kod.

  1. if(isset($_POST['zmien_1']))
  2. {
  3.  
  4.  
  5. if(isset($_FILES['zdjecie_1']['name'])):
  6. {
  7.  
  8. $random = $row['id'];
  9.  
  10. //$max_rozmiar = 1024*1024;
  11. if (is_uploaded_file($_FILES['zdjecie_1']['tmp_name'])) {
  12.  
  13.  
  14. $zdjecie_1=$random.$_FILES['zdjecie_1']['name'];
  15.  
  16. move_uploaded_file($_FILES['zdjecie_1']['tmp_name'],
  17.  
  18. $_SERVER['DOCUMENT_ROOT'].$path.$random.$_FILES['zdjecie_1']['name']);
  19.  
  20. $sql = "update users set photo_1='$zdjecie_1' where login='$user'";
  21. mysql_query($sql);
  22.  
  23. echo "Nowe zdjęcie będzie widoczne po odświeżeniu.";
  24. }
  25. }
  26. endif;
  27. }



--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kujol
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

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


Przed wgraniem pliku na serwer sprawdź sobie ilość rekordów, dodaj jeden i przypisz do zmiennej, a następnie doklej ją w 18 linijce na końcu. W ten sposób uzyskasz nazwa_id.
Co do polskich znaków, to kodowanie utf-8 bez bom i <meta charset="UTF-8"/> w pliku, a w bazie ustaw, także utf-8, jeśli nie masz wink.gif


--------------------
;)
Go to the top of the page
+Quote Post
szczalpi
post
Post #3





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


Tak nie do końca.
W bazie mam zrobione 6 pól dla zdjęć.
Np: photo1, photo2 itd.
Chciałbym zrobić upload danego pola tylko.
Zapis to nr rekordu i numer zdjęcia. 1254_1.jpg, 1254_2, 1254_3 itd,
Teraz dodaje mi numer rekordu i dalej nazwę zdjęcia. Jeżeli ktoś doda nazwę z polskimi znakami to zdjęcie nie wyświetla się na stronie.


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
snerf
post
Post #4





Grupa: Zarejestrowani
Postów: 74
Pomógł: 3
Dołączył: 30.03.2014

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


Czyli już masz zrobione?

tu wklejam ci funkcje zmieniającą polskie ogonki

  1. function clearDiacritics($sText)
  2. {
  3. $aReplacePL = array(
  4. 'ą' => 'a', 'ę' => 'e', 'ś' => 's', 'ć' => 'c',
  5. 'ó' => 'o', 'ń' => 'n', 'ż' => 'z', 'ź' => 'z', 'ł' => 'l',
  6. 'Ą' => 'A', 'Ę' => 'E', 'Ś' => 'S', 'Ć' => 'C',
  7. 'Ó' => 'O', 'Ń' => 'N', 'Ż' => 'Z', 'Ź' => 'Z', 'Ł' => 'L'
  8. );
  9. return str_replace(array_keys($aReplacePL), array_values($aReplacePL), $sText);
  10. }
Go to the top of the page
+Quote Post
kujol
post
Post #5





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

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


@snerf lepsza funkcja by była oparta na strtr() i preg_replace() z modyfikatorem i smile.gif


--------------------
;)
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 Aktualny czas: 19.08.2025 - 16:27