Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php]Upload pliku zmiana nazwy
bambolo
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


Witam mam skrypt uploadu 2 plików jak zrobic aby uploadowany plik obrazka zmienił nazwe na taki jakie jest

. $hash . ".btf") czyli drugi uploadowany a nie taki jak jest nazwa na hdd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

oto mój cały kod

http://forus.pl/upload.txt


Sory ze tak ale cały kod sie nie zmiesci na posta

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
cornholio666
post
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Do zmiany nazwy pliku służy rename
Go to the top of the page
+Quote Post
bambolo
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


fajnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale nie jestem bosem w tej dziedzinie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) i nie wiem jak to zastosowac w tym kodzie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
cornholio666
post
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Po move_uploaded_file musisz zrobić coś takiego:

  1. <?php
  2. $nowa_nazwa_pliku = $sciezka_do_pliku.'nowanazwa.jpg';
  3.  
  4.  rename($sciezka_do_zuploadowanego_pliku,$nowa_nazwa_pliku);
  5. ?>



Oczywiście to jest przykład, dostosuj go do swoich potrzeb.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Nazwę pliku możesz zmienić już podczas uploadu.

Wystarczy podać odpowiednie wartości do funkcji move_uploaded_file

Widzę, że w kodzie właśnie tak robisz. Jeżeli nie gra Ci to sprawdź czy wszystkie wartości które wstawiasz do funkcji są takie jakie byś chciał.
Go to the top of the page
+Quote Post
bambolo
post
Post #6





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


w kodzie jest tak zrobione dla tego drugiego pliku ale nie wiem jak to zrobic do uploadowanego obrazka (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Dokładnie tak samo :

masz w kodzie:
  1. <?php
  2. move_uploaded_file($_FILES['img']['tmp_name'], 'obrazki/' . $_FILES['img']['name']) 
  3.  or die('Error moving image...');
  4. ?>

a zrób z tego coś takiego:
  1. <?php
  2. $nowa_nazwa_pliku='usiasia';
  3. $nowe_rozsz='bla';
  4. move_uploaded_file($_FILES['img']['tmp_name'], 'obrazki/' . $nowa_nazwa_pliku.'.'.$nowe_rozsz) 
  5.  or die('Error moving image...');
  6. ?>
Go to the top of the page
+Quote Post
bambolo
post
Post #8





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


Nie działa ten kawałek (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

A moze by jakos dopisac cos do tego uploadowanego obrazka tak aby nie nadpisywał juz istniejących o tej samej nazwie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) jak to zrobic ?
Go to the top of the page
+Quote Post
Cienki1980
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(bambolo @ 22.06.2007, 16:35:35 ) *
Nie działa ten kawałek (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

A moze by jakos dopisac cos do tego uploadowanego obrazka tak aby nie nadpisywał juz istniejących o tej samej nazwie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) jak to zrobic ?


No to pokaż jak zmieniłeś i podaj jaki błąd się pokazuje czy też może napisz czym objawia się niedziałanie.

Co do sprawdzania czy plik istnieje to warto zainteresować się funkcją file_exists
Go to the top of the page
+Quote Post
bambolo
post
Post #10





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


Wogóle nie ładuje z tym kodem pliku na serwer (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

No szkoda (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) a mogło być tak fajnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(bambolo @ 23.06.2007, 16:57:56 ) *
Wogóle nie ładuje z tym kodem pliku na serwer (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

No szkoda (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) a mogło być tak fajnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Fajnie by było jakbyś pokazał kod zmieniony ( może być fragment , niekoniecznie całość ).
W ciemno mogę Ci powiedzieć, żebyś sprawdził czy zmienne z nazwami pliku mają odpowiednie wartości ....

ale w ciemno to wiesz. Zamiast się użalać, pomóż nam pomóc sobie.
Go to the top of the page
+Quote Post
bambolo
post
Post #12





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


Nie wiem jak moge wiecej to opisac (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) podany przez ciebie kod nie działa wogóle nie ładuje pliku na serwer (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) dlatego tez podałem link do całego pliku z kodem aby mozna było pokonbinowac a nie tylko fragment kodu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
a zmiana nazwy poprzez redirect nie działa bo trzyma safe mode mi na serwie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(bambolo @ 25.06.2007, 11:16:54 ) *
Nie wiem jak moge wiecej to opisac (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) podany przez ciebie kod nie działa wogóle nie ładuje pliku na serwer (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) dlatego tez podałem link do całego pliku z kodem aby mozna było pokonbinowac a nie tylko fragment kodu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
a zmiana nazwy poprzez redirect nie działa bo trzyma safe mode mi na serwie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Pozdrawiam

Echhh no nic zaczynamy od nowa.
Podałeś link do pliku i owszem, ale nie podałeś jak to zmieniłeś na proponowane przez nas rozwiązanie.

Sprawdziłeś, czy zmienne które zawierają dane do zmiany pliku mają takie wartości jak chcesz, żeby miały (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Pokaż jak zmieniłeś kod ( jak próbujesz zmienić kod ) a może coś podczas tych prób zrobiłeś źle.

Albo inaczej .. skoro nie chcesz tak to odpowiem CI tak:
Nie działa Ci bo masz źle to zrobione ... pokaż jak masz a poszukamy błędu.
Go to the top of the page
+Quote Post
in5ane
post
Post #14





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


@bambolo: jeżeli Cię ludzie proszą o podanie błędu jaki ci wyskakuje i kodu, bądź jego kawałka to od razu powinieneś podać, a nie piszesz non stop, że nie działa. Bez kodu nikt ci w tym przypadku nie pomoże. Aha i kod wstawiaj za pomocą bbcodów PHP (wtedy kod jest czytelny i ładnie pokolorowany).
Go to the top of the page
+Quote Post
bambolo
post
Post #15





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


W tym kodzie co podałes

  1. <?php
  2. $nowa_nazwa_pliku='usiasia';
  3. $nowe_rozsz='jpg';
  4. move_uploaded_file($_FILES['img']['tmp_name'], 'obrazki/' . $nowa_nazwa_pliku.'.'.$nowe_rozsz) 
  5.  or die('Error moving image...');
  6. ?>


To plik uploadowany o nazwie 01.jpg powinien bez zmian kodu wyglądać tak

http://mojserwer/obrazki/usiaasia.jpg

chyba ze sie nie rozumiem i nie wiem co znaczy $ nowe_rozsz=" ";

Plik w uploadowanym wyglądzie nie zmienia nazwy i nie ładuje go chyba na serwer (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Najbardziej mi się podoba tekst "nie ładuje go chyba na serwer".

A może jednak ładuje tylko o tym nie wiesz (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <?php
  2. if(($_FILES['img']['type'] == 'image/pjpeg' || $_FILES['img']['type'] == 'image/jpg' || $_FILES['img']['type'] == 'image/jpeg'|| $_FILES['img']['type'] == 'image/png'|| $_FILES['img']['type'] == 'image/gif') && $width < 300 && $height < 1300)
  3. {$nazwa="moj_plik";
  4. $rozsz="png";
  5.  move_uploaded_file($_FILES['img']['tmp_name'], 'obrazki/' . $nazwa.'.'.$rozsz) or die('Error moving image...');
  6. } else {
  7.  print('Upload obrazka nie udany ! prawdopodobnie jest za duży max 300x300 pixeli lub ni
    e posiada odpowiedniego formatu gif,jpg,png :( wejdz do panelu Twoje Punkty i Torrenty usun pozycje i zaladuj jeszcze raz
     '
    );
  8. } 
  9.  
  10.  
  11. ?>
  12.  
  13. <body>
  14. <FORM name="upload" METHOD="POST" ENCTYPE="multipart/form-data">
  15.  
  16. <table BGCOLOR="#dee4e4" width="80%" border="10" class="maintable">
  17. <tr>
  18. <td>Torrent</td>
  19. <td><input type="file" name="torrent" size=60></td>
  20. </tr>
  21. <tr> 
  22. <td>Nazwa</td>
  23. <td><input type=text name="filename" size=60 maxlength=200></td>
  24. </tr>
  25. <tr>
  26. <td>Image max 128x300 pixeli</td>
  27. <td><input type="file" name="img" size=60></td>
  28. </tr>
  29.  
  30.  <tr>
  31. <td>
  32. <input type=hidden name=user_id size=50 value=>
  33. <input type= hidden "radio" name="anonymous2" value="false" checked />
  34. <input type= hidden "radio" name="anonymous" value="true" />
  35. <input type= hidden checkbox name="autoset" value="enabled" checked></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td>
  40. Opis (Obowiazkowo)
  41. </td>
  42. <td>
  43. <textarea name="info" rows="10" cols="60"></textarea>
  44. </td>
  45. </tr>
  46.  
  47. <tr>
  48. <td>&nbsp;</td>
  49. <td><input class="form_button" name="submit" type=submit value="Wyslij Plik"></td>
  50.  
  51. </tr>
  52.  
  53. </table>
  54. </FORM>
  55.  
  56. <?php
  57.  
  58.  
  59.  
  60.  
  61. ?>


To jest Twój kod obcięty ze wszystkich dodatków i zostawione jest tylko upload plików na serwer. Testowałem, u mnie działa poprawnie.
Go to the top of the page
+Quote Post
bambolo
post
Post #17





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


Cytat
Najbardziej mi się podoba tekst "nie ładuje go chyba na serwer".


bo na serwerze jest prawie 10 tys fotek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak to mam sprawdzic ?

Upload działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale za to do bazy zapisuje jako pierwotną nazwe czyli przed zmianą (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) a skrypt czyta z bazy nazwe pliku (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(bambolo @ 25.06.2007, 18:11:12 ) *
bo na serwerze jest prawie 10 tys fotek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak to mam sprawdzic ?

A np wyświetlić te zmienne, pod który próbujesz zapisać obrazek podczas jego wysyłani, a potem poszukać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Cytat(bambolo @ 25.06.2007, 18:11:12 ) *
Upload działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale za to do bazy zapisuje jako pierwotną nazwe czyli przed zmianą (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) a skrypt czyta z bazy nazwe pliku (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Jakbyś nie zauważył kod który podałem w poprzedniej odpowiedzi ładuje na serwer fotki z nazwą wpisaną na sztywno moj_plik.png. Czyli działa upload i zmiana nazwy uploadowanego pliku.

Skoro działa u mnie nie widzę przeciwwskazań czemu ma nie działać u Ciebie - no chyba, że podasz konkretny błąd, lub na 100% powiesz, że pliku nie ma na serwerze.
Go to the top of the page
+Quote Post
bambolo
post
Post #19





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 10.02.2007

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


Pisze ze ładuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale problem w tym teraz ze ładuje z zmienioną nazwą (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale wyswietla link z rodzicielską nazwą czyli nie zmienia mi w bazie na nową nazwe czyli jak w przykładzie moj_pik.png (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) a nie wiem gdzie to zmienic zeby do bazy wpisywał tą zmieniona nazwe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

fragment kodu odpowiedzialny za wyswietlanie obrazka jest taki

  1. <img src="obrazki/<?= $r->img ?>" border="0" width="120"><BR>


i on czyta z bazy nazwe a tam jest rodzicielska (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) czyli taka jak był na hdd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #20





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


No to trzeba było od razu, że nie zapisuje do bazy

Poszukaj w swoim kodzie takiego czegoś:
  1. <?php
  2. if( !empty($_FILES["img"]["name"]) )
  3. {
  4. $img=$_FILES["img"]["name"];
  5. }
  6. else
  7. {
  8.  $img='noimage.gif';
  9. }
  10. >
  11. ?>

i zamiast $img=$_FILES["img"]["name"]; wstaw $img=$twoja_nazwa_pliku.".".$twoje_rozszerzenie;
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:52