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 22.06.2007, 08:46:02
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 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

smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
cornholio666
post 22.06.2007, 08:50:08
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


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
bambolo
post 22.06.2007, 09:22:08
Post #3





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

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


fajnie smile.gif ale nie jestem bosem w tej dziedzinie sad.gif i nie wiem jak to zastosowac w tym kodzie sad.gif
Go to the top of the page
+Quote Post
cornholio666
post 22.06.2007, 09:39:39
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.


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
Cienki1980
post 22.06.2007, 09:42:01
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ł.


--------------------
404
Go to the top of the page
+Quote Post
bambolo
post 22.06.2007, 12:07:22
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 sad.gif
Go to the top of the page
+Quote Post
Cienki1980
post 22.06.2007, 12:32:49
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. ?>


--------------------
404
Go to the top of the page
+Quote Post
bambolo
post 22.06.2007, 15:35:35
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 sad.gif

A moze by jakos dopisac cos do tego uploadowanego obrazka tak aby nie nadpisywał juz istniejących o tej samej nazwie sad.gif jak to zrobic ?
Go to the top of the page
+Quote Post
Cienki1980
post 22.06.2007, 16:12:48
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 sad.gif

A moze by jakos dopisac cos do tego uploadowanego obrazka tak aby nie nadpisywał juz istniejących o tej samej nazwie 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


--------------------
404
Go to the top of the page
+Quote Post
bambolo
post 23.06.2007, 15:57:56
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 sad.gif

No szkoda sad.gif a mogło być tak fajnie smile.gif
Go to the top of the page
+Quote Post
Cienki1980
post 23.06.2007, 16:34:29
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 sad.gif

No szkoda sad.gif a mogło być tak fajnie 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.


--------------------
404
Go to the top of the page
+Quote Post
bambolo
post 25.06.2007, 10:16:54
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 sad.gif podany przez ciebie kod nie działa wogóle nie ładuje pliku na serwer sad.gif dlatego tez podałem link do całego pliku z kodem aby mozna było pokonbinowac a nie tylko fragment kodu smile.gif
a zmiana nazwy poprzez redirect nie działa bo trzyma safe mode mi na serwie sad.gif

Pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 25.06.2007, 10:39:13
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 sad.gif podany przez ciebie kod nie działa wogóle nie ładuje pliku na serwer sad.gif dlatego tez podałem link do całego pliku z kodem aby mozna było pokonbinowac a nie tylko fragment kodu smile.gif
a zmiana nazwy poprzez redirect nie działa bo trzyma safe mode mi na serwie 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 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.


--------------------
404
Go to the top of the page
+Quote Post
in5ane
post 25.06.2007, 10:44:48
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).


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
bambolo
post 25.06.2007, 13:49:46
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 sad.gif
Go to the top of the page
+Quote Post
Cienki1980
post 25.06.2007, 15:44:15
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 questionmark.gif 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.


--------------------
404
Go to the top of the page
+Quote Post
bambolo
post 25.06.2007, 17:11:12
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 smile.gif jak to mam sprawdzic ?

Upload działa smile.gif ale za to do bazy zapisuje jako pierwotną nazwe czyli przed zmianą sad.gif a skrypt czyta z bazy nazwe pliku sad.gif
Go to the top of the page
+Quote Post
Cienki1980
post 25.06.2007, 18:18:15
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 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ć biggrin.gif

Cytat(bambolo @ 25.06.2007, 18:11:12 ) *
Upload działa smile.gif ale za to do bazy zapisuje jako pierwotną nazwe czyli przed zmianą sad.gif a skrypt czyta z bazy nazwe pliku 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.


--------------------
404
Go to the top of the page
+Quote Post
bambolo
post 25.06.2007, 18:51:58
Post #19





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

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


Pisze ze ładuje smile.gif ale problem w tym teraz ze ładuje z zmienioną nazwą 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 sad.gif a nie wiem gdzie to zmienic zeby do bazy wpisywał tą zmieniona nazwe 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 smile.gif czyli taka jak był na hdd sad.gif
Go to the top of the page
+Quote Post
Cienki1980
post 25.06.2007, 19:31:25
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;


--------------------
404
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 19.07.2025 - 04:36