Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload fotki
Forum PHP.pl > Forum > PHP
Krisu
Mam problem odnośnie zmiany nazwy pliku, ktory zostaje przesyłany na serwer.

  1. <?php
  2. $max_rozmiar = 80*100;
  3. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  4. if ($_FILES['plik']['size'] > $max_rozmiar) {
  5. echo '<b>Błąd w przesyłaniu zdjęcia!</b><br> Plik jest za duży, musi on mieć wymiary 80x100';
  6. } else {
  7. echo 'Zdjęcie dodano pod nazwą: '.$_FILES['plik']['name'];
  8. echo '<br/>';
  9. move_uploaded_file($_FILES['plik']['tmp_name'],
  10. $_SERVER['DOCUMENT_ROOT'].'/user/'.$_FILES['plik']['name']);
  11. }
  12. } else {
  13.  echo 'Nie uaktualniono zdjęcia osoby!';
  14. }
  15. ?>


Jak w tym kodzie mogę zmienić nazwę pliku na własną, pod ktora ma ojawić się na serwerze??
evo
w metodzie
  1. <?php
  2. ?>
Krisu
No ale jak zmieniam cokolwiek w tej metodzie to mi wogole zdjec nie uploaduje ;/

Np jezeli zdjecie nazywa sie 551.jpg to wlasnie tak mi je zapisuje, a ja chcialbym zeby sie nazywalo 1.jpg

Napisz mi ktos w ktorym dokladie miejscu i w jaki sposob mam wpisac... najlepiej jesli bylaby ta wartosc przypisana do zmiennej.
tom000
Nigdy nie uzywalem move_uploaded_file, ale podejrzewam, ze bedzie tak (jesli o to chodzi):

  1. <?php
  2. $nazwa = '1.jpg';
  3. move_uploaded_file($_FILES['plik']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/user/'.$nazwa);
  4. ?>
skowron-line
move_uploaded_file

p.s
tom000 super przyklad

wszystkie uplodowane foty beda sie nazywac 1.jpg i beda sie nadpisywac
Krisu
jest jeszcze taki problem ze na localhoscie te fotki mi sie pieknie uploaduja na na serwerze juz nie chca :]

Zmienilem chmod wszystkich folderów i samych zdjec, zeby bez problemu mozna bylo je nadpisac i nic ;/
skowron-line
moze serwer na to nie pozwala bo masz konto na jakims yoyo.pl albo innym dziwnym serwie
Bogdan
Cytat(Krisu @ 4.12.2006, 23:26:24 ) *
Mam problem odnośnie zmiany nazwy pliku, ktory zostaje przesyłany na serwer.

  1. <?php
  2. $max_rozmiar = 80*100;
  3. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  4. if ($_FILES['plik']['size'] > $max_rozmiar) {
  5. echo '<b>Błąd w przesyłaniu zdjęcia!</b><br> Plik jest za duży, musi on mieć wymiary 80x100';
  6. } else {
  7. echo 'Zdjęcie dodano pod nazwą: '.$_FILES['plik']['name'];
  8. echo '<br/>';
  9. move_uploaded_file($_FILES['plik']['tmp_name'],
  10. $_SERVER['DOCUMENT_ROOT'].'/user/'.$_FILES['plik']['name']);
  11. }
  12. } else {
  13.  echo 'Nie uaktualniono zdjęcia osoby!';
  14. }
  15. ?>


Jak w tym kodzie mogę zmienić nazwę pliku na własną, pod ktora ma ojawić się na serwerze??




Proponuję

  1. <?php
  2. $FILE_MIMES = array('image/jpg','image/gif','image/png','image/jpeg');
  3. $FILE_EXTS = array('.jpg','.png','.gif','.jpeg');
  4.  
  5. if(!in_array($_FILES[plik][type], $FILE_MIMES) && !in_array(strtolower(substr($_FILES['plik']['name'],strrpos($_FILES['plik']['name'],'.'))), $FILE_EXTS)){
  6. echo '<br /><br />Przepraszamy, '. $_FILES['plik']['name'] .'('. $_FILES['plik']['type'] .') nie jest dopuszczalny i nie może być załadowywany.';
  7.  
  8. $plikname = microtime() .'_'. $plik_name; // dopisuje mikro czas + $plik_name, lub wymyśl co chcesz i dopisz time, date, nic
    k itp.
  9.  
  10. $plikname = strtolower($plikname); //zamiana na male litery
  11.  
  12. $plikname = preg_replace('/s/', '_', $plikname); // zamiana spacji na _
  13.  
  14. if(move_uploaded_file($_FILES[plik][tmp_name], $_SERVER['DOCUMENT_ROOT'].'/user/' .$plikname)){
  15.  
  16. echo '<br /><br />Plik wyslano pomyslnie!<br /><br />Wielkosc pliku: '. round ($plik_size/1024, 2) .' KB'; // do 2 miejsc po ,
  17.  
  18. }else{
  19.  
  20. echo '<br /><br />Wystapil nieoczekiwany blad podczas wysylania!';
  21.  
  22. }
  23. ?>


Jak zadziała daj znać.

Pozdrawiam
Krisu
Zaraz przetestuje dzialanie pliku a co do serwera to mam strone zamieszczona na serwerze szkolnym na linuxie i z tego co wiem to nie ma problemow z zadnymi zabezpieczeniami i ograniczeniami
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.