Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> "problem" z explode
cornholio666
post 29.12.2004, 14:49:53
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Mam takie cos:
gdzie $dir jest katalogiem w ktorym znajduja sie pliki
  1. <?php
  2.  if($dh = @opendir($dir))
  3.  {
  4.  while(false !== ($file = readdir($dh)))
  5.  {
  6.  if($file != '.' && $file != '..')
  7.  {
  8.  $allfiles = explode('.', $file);
  9.  if($jpg)
  10.  {
  11.  if($allfiles[1] == 'jpg' || $allfiles[1] == 'JPG')
  12.  {  
  13.  $images[$i] = $file;
  14. $i++;
  15.  }
  16.  }
  17.  }  
  18.  }
  19.  }
  20. ?>

niby skrypt wybiera same jpg ale jak w katalogu znajduje sie plik obraz.jpg.psd interpretuje go jako jpg jak sie zabezpieczyc przed takim czyms?


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
shima
post 29.12.2004, 14:54:21
Post #2





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

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


Nie sprawdzaj $allfiles[1] ale $allfiles[count($allfiles) -1]
Oczywiście policzyć możesz wcześniej


--------------------
Nie ma nic stałego prócz zmiany...
Go to the top of the page
+Quote Post
-kantaro-
post 29.12.2004, 16:19:24
Post #3





Goście







Spróbuj przepuścić $i przez funkcje sprintf(); w taki sposób
  1. <?php 
  2.  if($allfiles[1] == 'jpg' || $allfiles[1] == 'JPG')
  3.  {  
  4.  $images[$i] = $file;
  5. sprintf(&#092;"%01.2f\", $i);
  6.  $i++;
  7.  }
  8.  
  9. ?>
Go to the top of the page
+Quote Post
rogrog
post 29.12.2004, 16:44:38
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


najlepiej użyć służącej do tego funkcji php - pathinfo" title="Zobacz w manualu PHP" target="_manual


--------------------
Go to the top of the page
+Quote Post
cornholio666
post 29.12.2004, 20:54:33
Post #5





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


ok sposob shima poszedl (jest dla mnie zrozumialy) ale pojawil sie jeszcze jeden problem: nie chce mi wyswietlac jpgów w ktorych nazwa zawiera polskie litery. Mozna cos z tym zorbic? i dlaczego sie tak dzieje


I jeszcze cos dziwnego: obie przegladarki (IE i Opera) nie wyswietlaja mi plików ktore zawieraja polskie znaki ponadto IE (w przeciwienstwie do operry) nie wyswietla niektorych obrazków, a w tych obrazkach nie widze niczego dziwnego..

Ten post edytował cornholio666 30.12.2004, 00:04:06


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
-D4rky-
post 30.12.2004, 02:12:15
Post #6





Goście







nigdy nie wyswietli, bo w UNIXie,LINUXie i kazdym innym nie-winshitowym sysie CHYBA nie dziala (zobacz se chocby dlaczego adresy nie maja PL liter). po prostu pozmieniaj, ja bym tak zrobil

a ja DOSowiec jestem to nawet sie staram zeby mialy ok. 8 znakow biggrin.gif
Go to the top of the page
+Quote Post
tiraeth
post 30.12.2004, 12:36:33
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


exif_imagetype" title="Zobacz w manualu PHP" target="_manual

jeżeli zwróci IMAGETYPE_JPEG to wyświetlaj plik...

czyli:
  1. <?php
  2. if($dh = @opendir($dir))
  3. {
  4.  while(false !== ($file = readdir($dh)))
  5.  {
  6. if($file != '.' && $file != '..' && exif_imagetype($file) == 'IMAGETYPE_JPEG')
  7. {
  8.  $images[] = $file;
  9. }  
  10.  }
  11. }
  12. closedir($dir);
  13. ?>


Tak ładnie zmiejszony kod i robi dosłownie to samo smile.gif
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: 28.04.2024 - 16:15