Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zmiana nazwy pliku
--RazoR2011--
post 18.01.2014, 11:16:32
Post #1





Goście







Cześć!
Posiadam hosting obrazków. Jednak obrazki które przesyłam na serwer, nadal posiadają swoją starą nazwę (mogą wystąpić błędy podczas wysłania obrazków o tej samej nazwie). Więc postanowiłem że zrobię pętle która będzie generowała mi 35 cyfrowy kod. Jednak nie wiem dlaczego, ale skrypt nei działa poprawnie, tzn. uploaduje obrazki, ale nie zmienia już nazwy. Pokazuje się tekst: [b]Warning: rename(upload/520dIMG_4484.JPG,6) [function.rename]: Nie mo�na odnale�� okre�lonego pliku. (code: 2) in D:\WebServ\httpd\dziala\index.php on line 36

Mój kod skryptu:
  1. if(is_uploaded_file($plik_tmp)) {[/b]
  2. move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
  3. for($x=1;$x<35;$x++) {
  4. $i = rand(1,9);
  5. };
  6. rename("upload/$plik_nazwa", "$i");
Go to the top of the page
+Quote Post
Daimos
post 18.01.2014, 14:26:22
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


sprawdź sobie dokładną ścieżkę na serwerze, gdzie jest katalog upload (uruchom w nim plik z poleceniem getcwd(), jeśli sam nie wiesz). Jak już będziesz to wiedział, to spróbuj operować na pliku podając całą ścieżkę, a nie tylko relatywnie upload/.
I weź pod uwagę fakt, że jeśli robisz rename('/upload/cos.jpg', '1') to oprócz zmiany nazwy pliku z cos.jpg na "1", to przeniesiesz tez ten plik katalog wyżej, więc poprawnie powinno być: rename('/upload/cos.jpg', '/upload/1');

Ten post edytował Daimos 18.01.2014, 14:29:21


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
--RazoR2011--
post 18.01.2014, 15:09:09
Post #3





Goście







Wyrzuciło mi błąd:
Warning: rename(/upload/$plik_nazwa,/upload/$i) [function.rename]: System nie może odnaleŸć okreœlonej œcieżki. (code: 3) in D:\WebServ\httpd\dziala\index.php on line 23

linijka 23
  1. rename('/upload/$plik_nazwa', '/upload/$i');
Go to the top of the page
+Quote Post
Daimos
post 18.01.2014, 15:25:55
Post #4





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


a mógłbyś przeczytać wszystko co napisałem?


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
Bartek Skwara
post 18.01.2014, 15:28:03
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.01.2014

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


Jeżeli chcesz użyć zmiennych w ciągu znaków to użyj " " zamiast ' ' albo użyj łączenia ciągów przy użyciu kropki.
  1. rename('/upload/'.$plik_nazwa, '/upload/'.$i);

Teraz podałeś do php ścieżkę /upload/$plik_nazwa - dosłownie smile.gif
Go to the top of the page
+Quote Post
--RazoR2011--
post 18.01.2014, 16:30:35
Post #6





Goście







juz wszystko śmiga, tylko że następuje zmiana nazwy na zmienną $i (powinna być 35 cyfrowa) która zawiera tylko jedną liczbę. Jak to naprawić?
Go to the top of the page
+Quote Post
Turson
post 18.01.2014, 16:55:43
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. $i = 0;
  2. for($x=1;$x<=35;$x++) {
  3. $i.= rand(1,9);
  4. };
  5.  
  6. echo $i;
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 Wersja Lo-Fi Aktualny czas: 7.05.2025 - 07:18