Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Jak nazywać pliku po uploadzie
Forum PHP.pl > Forum > Przedszkole
BugsBunny
Witam,
Chce po uploadzie pliku na serwer nadawać mu nazwe (Roboczą) albo pokolei numery albo jakiś wygenerowany kod.
Jeśli chodzi o numerację pokolei to chyba troche zachodu bo bym musiał pobrac z bazy największe ID i przypisać o jeden większe.
W więkoszci CMSów nadawane są wygenerowane kody. Możecie mi przyblizyc jak to robią questionmark.gif

Jako ze na operacjach na plikach się mało znam to możecie podac jakiś przykład kodu zmieniającego nazwę pliku rolleyes.gif
Cysiaczek
http://pl2.php.net/manual/pl/function.uniqid.php
Generujesz sobie, a nastepnie dołączasz do nazwy pliku i pod taka zmieniona nazwą zapisujesz plik. Można do tego uzyć funkcji np. copy().
Chyba, że chcesz jakieś konkretne kody?
BugsBunny
A jak zmienić nazwę pliku questionmark.gifquestionmark.gif?
Można zmienić rozszezenie questionmark.gif
mike
1. Prosze zmienic temat wątku. Nie jest zgodny z zasadami pisania na forum Przedszkole.
2. To że jestes kieski z obsługi plików to nie zwalnia Cię z obowiązu ruszenia tyłka do manuala i poszukanie sobie funkcji do tego. rename() !
BugsBunny
Temat wątku zmieniłem
Manula przeszukałem tylko że nie mogłem się dopatrzeć tej funkcji.

NO dobra ale teraz żębym zmienił nazwe pliku to musze jakoś rozdzielić rozszeżenie od nazwy pliku. Chyba że mogę np. wszystko zapisać w formacie jpg??
Cysiaczek
  1. <?php
  2. $filename=substr($filename, 0, -4); // i juz masz wycięte rozszerzenie.
  3. $filename.=$kod.'.jpg'; // i już masz nową nazwę pliku.
  4. ?>


Dodam, ze to nie jedyna możliwość.

Pozdrawiam.
phpion
W php zmieniajac nazwe pliku mozesz tak naprawde zmienic i nazwe i rozszerzenie czyli podajac nowa nazwe nie mozesz zapomniec o rozszerzeniu, bo wtedy plik bedzie bez rozszerzenia.
@Cysiaczek: a .jpeg?, .mpeg? smile.gif tudziez chocby .js?
BugsBunny
Czyli kontrolując poliki jakie wysyłam na serwer tj pliki grafiki moge je wszystkie potem pozamieniać przez rename() na jpg i nie będzie to miało żadnych negatywnych konsekwencji questionmark.gif
Cysiaczek
Tak., Możesz. Tak samo jak na swoim dysku twardym laugh.gif
Pozdrawiam.
P.S. Jakie negatywne konsekwencje masz na myśli?
BugsBunny
Tak się zastanawiałem tylko.
Dzięki wszystkim za pomoc

Nie chce zakłądać nowego tematu więc przedstawie sytuacje tutaj

Zrobiłem już ten cały upload z rename, zrobiłem kontrole rozmiaru tylko że pliki około 2.5 MB i wzwyż pokazuje mi rozmiar równy zero i taki bład

Warning: rename(../upload/IMG_0085.jpg,../upload/1feb2798fd82b80f283ba660849418a7.jpg) [function.rename]: No such file or directory in c:\usr\krasnal\www\aktualnosci\admin\galeria_add.php on line 33

To jest jakieś ogranicznie funkcji czy coś z ustawieniem serwera, a może inne buty questionmark.gif
phpion
  1. No such file or directory

co jest rownoznaczne z:
  1. Brak pliku lub katalogu

czyli masz zla sciezke podana w parametrach rename(). Pewnie pierwszy masz dobrze (z pelna sciezka), ale drugi to juz sama nowa nazwa + rozszerzenie (a takze powinna byc ze sciezka).
BugsBunny
Wszystko jest dobrze tylko tak się pokazuje przy większych plikach.

Rozwiązałem ten problem przez sprawdzanie wielkości pliku

jeżeli rozmiar <= MAX_SIZE NAD AND rozmiar !== 0

Duże pliki jakoś się nie ulploadują więc ich rozmiar jest równy zero.

Jednak co zrobić gdybym musiał robić upload pliku powyżej 3 MB?? Bo własnie powyżej tego rozmiaru pojawia się błąd
Siner
Wydaj mi się, że w php.ini znajdziesz rozwiązanie na ograniczenie wielkości.
Edit//
a dokładniej "upload_max_filesize"
babejsza
ew. możesz użyć: set_time_limit" title="Zobacz w manualu php" target="_manual
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.