Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana nazwy pliku - upload zdjeć
Forum PHP.pl > Forum > Przedszkole
armind
Witam, znalazłem jakiegos gotowca, i akurat tego chyba szukałem - szukam.
W jaki sposób mógł bym zmienić nazwe pliku na date

  1. md5(date("Y-m-d-H-i-s"))




  1. <?php
  2. $config = array();
  3. $config['thumbnail_width'] = 180; // maksymalna szerokoć miniatury w pikselach
  4. $config['thumbnail_height'] = 160; // maksymalna wysokoć miniatury w pikselach
  5. $config['thumbnail_scale'] = true; // czy przy minimalizowaniu wielkoci zachowywać skalę?
  6. $config['path_images'] = 'images/'; // cieżka do katalogu grafik
  7. $config['path_thumbnails'] = 'thumbnails/'; // cieżka do katalogu miniatur
  8. $config['max_file_size'] = 1048576; // maksymalna wielkoć pliku w bajtach, 1MB
  9. $config['file_name'] = date("Y-m-d-H-i-s");
  10. $config['accepted_extensions'] = array('jpg', 'jpeg', 'png', 'gif'); // dozwolone rozszerzenia
  11. $config['accepted_mimes'] = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif'); // dozwolone typy MIME
  12.  
  13. function generateThumbnail($filename, $extension)
  14. {
  15. global $config;
  16. // stworzenie nowej grafiki wg typu
  17. switch ( $extension )
  18. {
  19. case 'gif':
  20. $ic = imagecreatefromgif($config['path_images'] . $filename);
  21. break;
  22. case 'png':
  23. $ic = imagecreatefrompng($config['path_images'] . $filename);
  24. break;
  25. default:
  26. $ic = imagecreatefromjpeg($config['path_images'] . $filename);
  27. break;
  28. }
  29. if ( $ic === false )
  30. {
  31. return 'Miniaturka nie stworzona!';
  32. }
  33. $is = getimagesize($config['path_images'] . $filename); // [0] - szerokoć, [1] - wysokoć
  34. switch ( $config['thumbnail_scale'] )
  35. {
  36. case false: // zmniejszanie bezporednio do 180x160px
  37. $nts = imagecreatetruecolor($config['thumbnail_width'], $config['thumbnail_height']);
  38. imagecopyresized($nts, $ic, 0, 0, 0, 0, $config['thumbnail_width'], $config['thumbnail_height'], $is[0], $is[1]);
  39. break;
  40. default: // zmniejszanie z zachowaniem skali, aż do osiągnięcia co najmniej 180x160px
  41. $width = $is[0];
  42. $height = $is[1];
  43. $ratio = $is[0] / $config['thumbnail_width'];
  44. if ( $ratio > 1 )
  45. {
  46. $width = $config['thumbnail_width'];
  47. $height = intval($is[1] / $ratio);
  48. }
  49. $ratio = $height / $config['thumbnail_height'];
  50. if ( $ratio > 1 )
  51. {
  52. $width = intval($width / $ratio);
  53. $height = $config['thumbnail_height'];
  54. }
  55. $nts = imagecreatetruecolor($width, $height); // utworzenie obrazka o podanych rozmiarach z czarnym tłem
  56. imagecopyresized($nts, $ic, 0, 0, 0, 0, $width, $height, $is[0], $is[1]); break;
  57. }
  58. switch ( $extension ) // zapis do pliku
  59. {
  60. case 'gif':
  61. imagegif($nts, $config['path_thumbnails'] . $filename);
  62. break;
  63. case 'png':
  64. imagepng($nts, $config['path_thumbnails'] . $filename);
  65. break;
  66. default:
  67. imagejpeg($nts, $config['path_thumbnails'] . $filename);
  68. break;
  69. }
  70. imagedestroy($nts); // zniszczenie obrazka
  71. return $config['path_thumbnails'] . $filename;
  72. }
  73.  
  74. if ( !file_exists($config['path_images']) || !is_dir($config['path_images']) ) {
  75. if ( !mkdir($config['path_images']) ) { // utworzenie katalogu wraz
  76. exit('Folder obrazków niemożliwy do utworzenia!');
  77. }
  78. chmod($config['path_ images'], 0777); // nadanie praw
  79. }
  80. if ( !file_exists($config['path_thumbnails']) || !is_dir($config['path_thumbnails']) ) {
  81. if ( !mkdir($config['path_thumbnails']) ) { // utworzenie katalogu
  82. exit('Folder miniaturek niemożliwy do utworzenia!');
  83. }
  84. chmod($config['path_thumbnails'], 0777); // nadanie praw
  85. }
  86. if ( !extension_loaded('gd') ) { // sprawdzenie, czy GD jest załadowane
  87. if ( !dl('gd') ) { // próba wymuszenia załadowania
  88. exit('Biblioteka GD nie została załadowana!');
  89. }
  90. }
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. if ( isset($_FILES['upload_image']) && isset($_POST['upload_submit']) )
  98. {
  99. // pętla analizująca zawartoć wszystkich trzech potencjalnie wysyłanych plików
  100. foreach ( $_FILES['upload_image']['error'] as $key => $arr )
  101. {
  102. if ( $_FILES['upload_image']['error'][$key] != UPLOAD_ERR_OK )
  103. {
  104. // błąd wysyłania pliku
  105. continue;
  106. }
  107. if ( $_FILES['upload_image']['size'][$key] > $config['max_file_size'] )
  108. {
  109. // plik jest za duży
  110. continue;
  111. }
  112. if ( file_exists($config['path_images'] . $_FILES['upload_image']['name'][$key]) )
  113. {
  114. // poinformowanie użytkownika o fakcie, że plik o takiej nazwie już istnieje
  115. continue;
  116. }
  117. $extension = explode('.', $_FILES['upload_image']['name'][$key]);
  118. if ( in_array(strtolower($extension[count($extension)-1]), $config['accepted_extensions']) === false || in_array($_FILES['upload_image']['type'][$key], $config['accepted_mimes']) === false )
  119. {
  120. // niepoprawne rozszerzenie pliku
  121. continue;
  122. }
  123. $image = getimagesize($_FILES['upload_image']['tmp_name'][$key]);
  124. if ( !is_array($image) || $image[0] < 1 )
  125. {
  126. // plik graficzny jest spreparowany
  127. continue;
  128. }
  129. if ( !is_uploaded_file($_FILES['upload_image']['tmp_name'][$key]) )
  130. {
  131. // plik nie został wysłany
  132. continue;
  133. }
  134. if ( !move_uploaded_file($_FILES['upload_image']['tmp_name'][$key], $config['path_images'] . $_FILES['upload_image']['name'][$key]) )
  135. {
  136. // wysyłanie nie może zostać zakończone poprawnie
  137. continue;
  138. }
  139. // wysyłanie pliku powiodło się!
  140. // opcjonalnie, jeżeli chcemy tylko z poziomu skrypt mieć dostęp do plików możemy odkomentować poniższa linijkę
  141. // chmod($config['path_images'] . $_FILES['upload_image']['name'][$key], 0600);
  142. print generateThumbnail($_FILES['upload_image']['name'][$key], $extension[count($extension)-1]); // funkcja tworząca miniaturkę
  143. }
  144. }
  145. ?>
Turson
Linia 134
armind
Niestety, próbowałem ale nadal nie działa
Turson
Może pokazałbyś swoje próby?
A w linii 142. jest nazwa miniaturki i o to chyba chodzi
armind
Źle się określiłem, miniatury oraz orginalnego rozmiaru zdjecia

np:

  1.  
  2. print generateThumbnail($_FILES['upload_image']['name'][$key], $config['file_name']); // funkcja tworząca miniaturkę
  3.  
  4.  
  5. print generateThumbnail($_FILES['upload_image']['name']$config['file_name'][$key], $extension[count($extension)-1]); // funkcja tworząca miniaturkę


Bardzo prosze o pomoc. Pilnie potrzebne
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.