Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmiana wgrywanego pliku na serwer
Forum PHP.pl > Forum > PHP
norbius3
  1. <?php
  2. $dir = 'uploads/';
  3. $max_file_size = 3000000;
  4. $change_name = false; $name_length = 55;
  5.  
  6. if(!file_exists($dir)) exit('Katalog '.$dir.' nie istnieje!');
  7.  
  8. if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['upload'])) {
  9.  
  10. $tmp_name = $_FILES['userfile']['tmp_name'];
  11. $name = $_FILES['userfile']['name'];
  12. $type = $_FILES['userfile']['type'];
  13. $size = $_FILES['userfile']['size'];
  14. $error = $_FILES['userfile']['error'];
  15.  
  16. $explode_name = explode('.',$name);
  17. $extension = @$explode_name[1];
  18.  
  19. if($change_name) {
  20. $name = $explode_name[0];
  21. $new_name = substr(md5($name),0,$name_length).'.'.$extension;
  22. $path = $dir.$new_name;
  23. }
  24. else {
  25. $path = $dir.$name;
  26. }
  27.  
  28.  
  29. $dirname = dirname($_SERVER['SCRIPT_NAME']) == '/' || dirname($_SERVER['SCRIPT_NAME']) == '\\' ? null : dirname($_SERVER['SCRIPT_NAME']);
  30.  
  31. $full_path = 'http://'.$_SERVER['HTTP_HOST'].$dirname.'/'.$path;
  32.  
  33. if($error == UPLOAD_ERR_NO_FILE) {
  34. echo '<p>Wybierz plik.</p>';
  35. }
  36. elseif($error == UPLOAD_ERR_PARTIAL) {
  37. echo '<p>Błąd! Plik został tylko częściowo załadowany.</p>';
  38. }
  39. elseif($error == UPLOAD_ERR_NO_TMP_DIR) {
  40. echo '<p>Błąd! Brak folderu tymczasowego.</p>';
  41. }
  42. elseif($error == UPLOAD_ERR_INI_SIZE) {
  43. echo '<p>Błąd! Plik jest za duży dla serwera.</p>';
  44. }
  45. elseif($size > $max_file_size) {
  46. echo '<p>Za duży plik.</p>';
  47. }
  48. else {
  49.  
  50. if(is_uploaded_file($tmp_name)) {
  51.  
  52. if(move_uploaded_file($tmp_name,$path)) {
  53. echo '<p>Dzieki.</p> <br />'.'<br><br>';
  54. }
  55. else {
  56. echo '<p>Nie udało się wysłać pliku. Spróbuj później.</p>';
  57. }
  58.  
  59. }
  60. else {
  61. echo '<p>Dajesz.</p>';
  62. }
  63.  
  64. }
  65.  
  66. }
  67.  
  68.  
  69. $directory="./uploads";
  70. $dir=opendir($directory);
  71.  
  72. while($file_name=readdir($dir))
  73. {
  74. if(($file_name!=".")&&($file_name!=".."))
  75. {
  76. $img = '/uploads/'.$file_name;
  77. echo '<img src="'.$img.'" alt="obrazek" />';
  78. echo ' ';
  79. }
  80. }
  81.  
  82. closedir($dir);
  83.  
  84.  
  85. ?>





-chodzi mi o zmiane nazwy wgrywanego pliku,
-aby obrazy na stronie wyswietlane były od nowo dodanego do najstarszego,

jest to mój pierwszy post. jestem amatorem PHP wiec prosze o wyrozumiałosc :)
z góry dzieki
trueblue
Skoro jesteś nowy, to pewnie jeszcze nie spotkałeś się z szukajką forumową...
Temat: PHPWyswietlanie zdjec wedlug kolejnosci modyfikacji PHP
Nazwa pliku jest generowana w linii 21.
norbius3
wiem gdzie jest ale jak ją zmienic , poniewaz gdy dodaje zdjęcia zapisuje mi je z normalną nazwą jaką wgrałem
trueblue
Nowa nazwa jest generowana jeśli zmienna $change_name jest true, jeśli nie, to jest przypisywana stara nazwa w linii 25.
Prosty if, który możesz wykorzystać lub wyrzucić.
norbius3
zmieniłem false na true .
działa ..
dzieki smile.gif
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.