Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Dodawanie zdjęć do bazy...
Forum PHP.pl > Forum > PHP
ISee
Witam. Zastanawiam się czy jest możliwe coś takiego. Otóż mam zamiar zrobić galerie zdjęć. Mam dobry skrypt galerii,który pobiera obrazki w ten sposób:
  1. <img src="reflect.php?img=img/1.jpg" longdesc="img/1.jpg" alt="Image 1" />
  2. <img src="reflect.php?img=img/2.jpg" longdesc="img/2.jpg" alt="Image 2" />
  3. <img src="reflect.php?img=img/3.jpg" longdesc="img/3.jpg" alt="Image 3" />
Więc pomyślałem sobie,żeby zamiast ręcznie dopisywać kod zrobić to poprzez pętle i zdjęcia będą w bazie.
Zastanawiam się jednak czy da rade napisac skrypt,który zrobi coś takiego:
Wklejam zdjęcia do folderu odpalam skrypt i skrypt pokolei dodaje nazwe z każdego zdjecia do bazy.
Dobrze by było gdyby odrazu zmieniał nazwe zdjęcia tzn. zdjęcia mają nazwe np. DSC12032.jpg i skrypt zmienia nazwe na 1.jpg,2.jpg,itd...
Jeśli ktoś by wiedział jak pomóc to byłbym wdzięczny winksmiley.jpg
ayeo
Na temat plików w katalogu jest m.in. tutaj:
http://forumphp.nq.pl/index.php?showtopic=82931&hl=
Łatwo to przerobisz na potrzeby swojej aplikacji.
Pozdrawiam!
ISee
Wielkie dzięki. Może sobie poradze,ale nie mam pojęcia jak zrobić,żeby wszystkim zdjęciom nadawało po kolei nazwe 1.JPG,2.JPG,itd..
Może mi ktoś pomóc?

PS.I jak przerobić skrypt,żebynie było zmiennej z wynikiem:
Cytat
Array ( [0] => Array ( [
name] => 1.JPG
[date] => April 22 2008 09:40:45.
)

tylko,żebym miał 2 zmienne i jedna to z powyższego przykładu "1.JPG",a druga "April 22 2008 09:40:45"
ayeo
Pokaż co napisałeś i coś poradzimy winksmiley.jpg
ISee
Więc na poczatku chciałem sprawdzić wyświetlanie,więc:
  1. <?php
  2. function getFilesData($folder) {
  3. $content = dir($folder); 
  4. $FILES = array(); //tablica z wynikami
  5.  
  6. while($file = $content->read())
  7. {
  8. if($file == "." OR $file == "..") continue; //omijamy . i .. 
  9. $create_data = date ("F d Y H:i:s.", filemtime($folder."/".$file));
  10. $FILES[] = array('<br><b>name</b>' => $file.'<br>', '<b>date</b>' => $create_data.'<br>');
  11. }
  12. return $FILES;
  13. }
  14.  
  15. print_r(getFilesData('img')); //jako parametr dajemy ścieżkę do katalogu
  16.  
  17. echo '<br><br>'.$file;
  18. ?>

Tyle,że zmienna $file nie zwraca mi wyniku pewnie dlatego,ze nie odwołuje się do tablicy.
Jeśli będe miał zmienną tylko z nazwą pliku i datą to w pętli dopisze:
  1. INSERT INTO `foty` (nazwa,DATA) VALUES ('$nazwa','$data');

Jeśli zmiana nazwy pliku to duży problem to już nie będzie to takie ważne,ale żeby chociaż te nazwy pododawało do bazy ;/
ayeo
  1. <?php
  2. function getFilesData($folder) {
  3. $content = dir($folder); 
  4. $FILES = array(); //tablica z wynikami
  5.  
  6. while($file = $content->read())
  7. {
  8. if($file == "." OR $file == "..") continue; //omijamy . i .. 
  9.  
  10. $FILES[] = $file;
  11. }
  12. return $FILES;
  13. }
  14.  
  15. function changeFiles($folder)
  16. {
  17. $number = 1;
  18. foreach(getFilesData($folder) as $plik)
  19. {
  20. rename($folder.'/'.$plik, $folder.'/'.$number.'.'.array_pop(explode(".", $plik)));
  21. $number++;
  22. }
  23. }
  24.  
  25.  
  26. changeFiles('images');
  27. ?>


Dodawanie do bazy dodasz w banalny sposób! Funkcję można poprawić troszkę. Używasz jej na własną odpowiedzialność!
Pozdrawiam!
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.