Upload obrazkow

Witam. Jak poprawić poniższy skrypt, aby zmienial nazwe wysylanego pliku funkcją uniqid(’’); ?

<?php 

if( is_uploaded_file( $_FILES['img_name']['tmp_name'] ) )

{

  $strUploadDir = 'img/' . $_FILES['img_name']['name'];

  if( move_uploaded_file( $_FILES['img_name']['tmp_name'], $strUploadDir ) )

  {

    echo 'Plik został pomyślnie uploadowany! 
';

  }

  else

  {

    echo 'Upload pliku nie powiódł się!';

  }

  echo 'Dodatkowe informacje o uploadowanym pliku:

' . print_r( $_FILES, true ) . '

'; } else { echo ‘Wystąpił błąd podczas wysyłania pliku na serwer!’; } ?> [/code]

http://php.net.pl/manual/pl/function.mo … d-file.php

http://php.net.pl/manual/pl/function.uniqid.php

tutaj zmieniasz nazwę:

Jednak trzeba rozbić nazwę pliku, by uzyskać rozszerzenie :wink:

Najtoporniejsza wersja:

$nazwa = $_FILES['img_name']['name'];

$ext = explode(".",$nazwa);

teraz podmienić:

na:

$strUploadDir = 'img/'.uniqid().'.'.$ext[1].'';

i powinno działać :]

Aha, jeszcze by pokazywało dane tego pliku :wink: tylko rozmiar i nazwę ;]

<?php

$nazwa = $_FILES['img_name']['name'];

$ext = explode(".",$nazwa);  

if( is_uploaded_file( $_FILES['img_name']['tmp_name'] ) )

{

  $strUploadDir = 'img/'.uniqid().'.'.$ext[1].'';

  if( move_uploaded_file( $_FILES['img_name']['tmp_name'], $strUploadDir ) )

  {

    echo 'Plik został pomyślnie uploadowany! 
';

  }

  else

  {

    echo 'Upload pliku nie powiódł się!';

  }

  echo "Dane pliku:";


}

else

{

  echo 'Wystąpił błąd podczas wysyłania pliku na serwer!';

}


?>
<?php

$nazwa = $_FILES['img_name']['name'];

$ext = explode(".",$nazwa); 

if( is_uploaded_file( $_FILES['img_name']['tmp_name'] ) )

{

  $strUploadDir = 'img/'.uniqid().'.'.$ext[1].'';

  if( move_uploaded_file( $_FILES['img_name']['tmp_name'], $strUploadDir ) )

  {

    $rozmiar = filesize($nazwa);

    $rozmiar = round(($rozmiar/1024),0);

    echo "plik $nazwa został pomyślnie przesłany na serwer i zajmuje $rozmiar KB";

  }

  else

  {

    echo 'Upload pliku nie powiódł się!';

  }



}

else

{

  echo 'Wystąpił błąd podczas wysyłania pliku na serwer!';

}


?>

Warning: filesize() [function.filesize]: stat failed for Frangipani Flowers.jpg ############# on line 10

10 linia to: $rozmiar = filesize($nazwa);

Złączono Posta : 08.08.2007 (Sro) 19:23

Udało mi sie zrobić, dzięki !