Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] skrypt zmieniający nazwę pliku.
Forum PHP.pl > Forum > PHP
benson
witam posiadam taki oto skrypt:
  1. <?php
  2.  
  3. $site_name = $_SERVER['HTTP_HOST'];
  4. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  5. $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  6.  
  7. $upload_dir = "upload/";
  8. $upload_url = $url_dir."upload/";
  9. $message ="";
  10.  
  11. //create upload_files directory if not exist
  12. //If it does not work, create on your own and change permission.
  13. if (!is_dir("upload")) {
  14. die ("upload_files directory doesn't exist");
  15. }
  16.  
  17. if ($_FILES['userfile']) {
  18. $message = do_upload($upload_dir, $upload_url);
  19. }
  20. else {
  21. $message = "Brak url - dodaj plik<br />";
  22. }
  23.  
  24. print $message;
  25.  
  26. function do_upload($upload_dir, $upload_url) {
  27.  
  28. $temp_name = $_FILES['userfile']['tmp_name'];
  29. $file_name = $_FILES['userfile']['name']; 
  30. $file_type = $_FILES['userfile']['type']; 
  31. $file_size = $_FILES['userfile']['size']; 
  32. $result = $_FILES['userfile']['error'];
  33. $file_url = $upload_url.$file_name;
  34. $file_path = $upload_dir.$file_name;
  35.  
  36. //File Name Check
  37. if ( $file_name =="") { 
  38. $message = "Invalid File Name Specified";
  39. return $message;
  40. }
  41. //File Size Check
  42. else if ( $file_size > 5000000) {
  43. $message = "The file size is over 4,76MB.";
  44. return $message;
  45. }
  46. //File Type Check
  47. else if ( $file_type == "text/plain" ) {
  48. $message = "Sorry, You cannot upload any script file" ;
  49. return $message;
  50. }
  51.  
  52. $result = move_uploaded_file($temp_name, $file_path);
  53. $message = ($result)?"adres pliku: <a href=$file_url>$file_url</a><br>" :
  54. "Somthing is wrong with uploading a file.";
  55.  
  56. return $message;
  57. }
  58. ?>



czy ktoś mógłby mi dopisać do tego fragment który zmienia nazwę wgranego pliku lub dodaje do oryginalnej nazwy losowe znaki?

ponieważ gdy już w folderze znajduje się plik np zdjecie.jpg i ktoś inny wgra plik o takiej samej nazwie zostaje on podmieniony i stary plik zostaje zastąpiony na nowy, i chodzi mi o to aby po wgraniu pliku zdjecie.jpg skrypt zmieniał nazwę np na zdjecie1.jpg itp
DJ ProG
eee
Kod
$file_name = $_FILES['userfile']['name'];
Może zamień po prostu wartość tej zmiennej, co ?

A skoro masz problem co do istniejących plików, to może by pomogło
Kod
if (file_exists($file_path)) { ... }
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.