Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] i [MySql] sprawdzenie czy nazwa jpega jest w bazie
motor
post 12.07.2006, 12:25:45
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Mam taki dylemat potrzebuję funkcji która umożliwi mi wykasowanie obrazków z katalogu ale tylko tych których nie ma w bazie
Mam już plik który wyświetla zawartość katalogu i mogę wyświetlić obrazki które są w bazie iw katalogu
  1. <?php
  2. $result = mysql_query(" SELECT * FROM tabela_zdjęcia WHERE nazwa zdjecia='$nazwa_zdjecia_zkatalogu'");
  3. while ($a_row = mysql_fetch_array ($result) )
  4. {
  5. print"jest ok";
  6. }
  7. ?>


Ale jak zrobić żeby wyświetliły mi się nazwy obrazków z katalogu których nazw nie ma w bazie bo tylko m i zaśmiecają , z ich usunięciem juz sobie poradzę
Go to the top of the page
+Quote Post
kwiateusz
post 12.07.2006, 12:30:29
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




no to porownujesz to co zwraca Ci funkcja listująca katalog z tym zo zwrocilo Ci zapytanie np poprzez in_array" title="Zobacz w manualu php" target="_manual i to co nie ma swojego odpowiednika w bazie to do tablicy a potem unlink ...
Go to the top of the page
+Quote Post
Ludvik
post 12.07.2006, 12:39:25
Post #3





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Pobierz wszystkie nazwy zdjęć z bazy (A) i z katalogu (cool.gif do osobnych tablic. Potem różnica zbiorów (B / A) da ci listę plików, których nie ma w bazie. W php różnicę zbiorów obliczysz array_diff" title="Zobacz w manualu php" target="_manual.


--------------------
Go to the top of the page
+Quote Post
motor
post 12.07.2006, 13:08:42
Post #4





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Coś sobie nie radze czy ktoś może mi napisać jak przedszkolakowi questionmark.gif
  1. <?php
  2. if($file != '.' && $file != '..' && $file_ext == "jpg")
  3. {
  4.  
  5. list($width, $height, $type, $attr) = getimagesize("$default_dir"."$file");
  6.  
  7.  
  8. $result = mysql_query(" SELECT * FROM tabela_zdjęcia ");  
  9.  while ($a_row = mysql_fetch_array ($result) ) {
  10.  
  11.  
  12. $os = array("$file")
  13. if (in_array("$a_row[nazwa_zdjecia]", $os)) {
  14.  echo "tak jest<br>";
  15. }else{
  16.  
  17. echo"nie ma<br>";
  18. }
  19. ?>

$file=nazwa zd z katalogu
...

Ten post edytował motor 12.07.2006, 13:11:28
Go to the top of the page
+Quote Post
Ludvik
post 12.07.2006, 13:22:17
Post #5





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $dir = opendir('sciezka');
  3. $files = array();
  4.  
  5. while (($node = readdir($dir)) !== false) {
  6. if (!is_dir($node) && substr($node, -1, 4) == '.jpg') {
  7. $files[] = $node;
  8. }
  9. }
  10.  
  11. closedir($dir);
  12.  
  13. $records = array();
  14. $result = mysql_query('SELECT nazwa_zdjecia FROM tabela_zdjecia');
  15. while ($record = mysql_fetch_row($result)) {
  16. $records[] = $record[0];
  17. }
  18.  
  19. $toDelete = array_diff($files, $records);
  20. ?>

Jakoś tak...

Ten post edytował Ludvik 12.07.2006, 13:22:35


--------------------
Go to the top of the page
+Quote Post
Ja_Szczur
post 12.07.2006, 13:22:28
Post #6





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 4.12.2005
Skąd: Strzyżów

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $result = mysql_query( 'SELECT nazwa_zdjecia FROM tabela_zdjęcia' );
  3. $zdj_z_bazy = array();
  4. while( $row = mysql_fetch_row( $result ) )
  5. $zdj_z_bazy[] = $row[0];
  6.  
  7. $dir = openDir( 'katalog/ze/zdjeciami' );
  8. while( $file = readDir( $dir ) )
  9. if( $file != '.' && $file != '..' && subStr( $file , strPos( $file , '.' ) ) == 'jpg' )
  10. if( ! in_array( subStr( $file , 0 , strPos( $file , '.' ) ) , $zdj_z_bazy ) )
  11. unLink( 'katalog/ze/zdjeciami/' . $file );
  12.  
  13. closeDir( $dir );
  14. ?>


[pisane na szybko]

Ten post edytował Ja_Szczur 12.07.2006, 13:39:17


--------------------
"No bo z fasolą to człowiek przynajmniej wie, na czym stoi..."
Pomniejsze bóstwa, Terry Pratchett

php :*
Go to the top of the page
+Quote Post
motor
post 12.07.2006, 13:39:36
Post #7





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Do Ludvik
wywala błąd w lini nr 5
Parse error: syntax error, unexpected T_STRING in

zaraz zobaczę skrypt Pana Ja_Szczur
Go to the top of the page
+Quote Post
Ludvik
post 12.07.2006, 14:35:09
Post #8





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


To dziwne... U mnie na php 5.1.4 nic się nie dzieje ze składnią. Znalazłem tylko błąd przy substr, gdzie -1 trzeba zamienić na -4. Ta część u mnie działa...

  1. <?php
  2. $dir = opendir('sciezka');
  3. $files = array();
  4.  
  5. while (($node = readdir($dir)) !== false) {
  6. if (!is_dir($node) && substr($node, -4, 4) == '.jpg') {
  7. $files[] = $node;
  8. }
  9. }
  10. //...
  11. ?>


--------------------
Go to the top of the page
+Quote Post
motor
post 12.07.2006, 14:55:07
Post #9





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


U mnie 5.8.4 i nadal nie działa
co to jest $node ?

Ten post edytował motor 12.07.2006, 15:00:09
Go to the top of the page
+Quote Post
nasty
post 12.07.2006, 14:59:44
Post #10





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


A ja mam php-8.19.8837 build 2278 tongue.gif
A tak na serio takiej wesji niema, daj phpinfo()...

Ten post edytował nasty_psycho 12.07.2006, 14:59:55
Go to the top of the page
+Quote Post
motor
post 13.07.2006, 09:14:33
Post #11





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Co ja gadam to Perl smile.gif
php 4.4.2

Ok juz działa jak to zrobić dziękuję wszystkim za nieocenioną pomoc

Pozdrawiam

Ten post edytował motor 13.07.2006, 09:15:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:13