Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak przypisać danemu rozszerzeniu pliku dany obrazek?
david8213
post
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 0
Dołączył: 9.12.2009

Ostrzeżenie: (10%)
X----


Chciałbym żeby każdy plik o danym rozszerzeniu miał przyporządkowaną ikonkę (plik jpg)
Skrypt musi wykrywać rozszerzenie i podstawiać do niego plik graficzny oraz wyświetlać na stronie.

(IMG:http://img175.imageshack.us/img175/9039/beztytuujm.jpg)

Wyświetlanie plików i ich rozmiarów już zrobiłem. Teraz chcę dołożyć ikonki.

Kod
<?php
      $katalog = '../grafik/';
      $dirArray = array();
      $opdir = opendir("../grafik");
      while($file = readdir($opdir)){
      if ($file === '.' || $file === '.' || $file === '..' ||  $file === 'index.php') continue;
      $dirArray[] = $file;              }
      closedir($opdir);  
      sort($dirArray);
      foreach($dirArray as $file)         {
      $size = filesize($katalog.$file);
      echo '<table><tr><td width="500" bgcolor="#F5F5F5"><img align=absmiddle src="img/  txt.bmp"><a href="../grafik/'.$file.'" target=blank>'.$file.'</a></td><td width="100" bgcolor="#F5F5F5"><a><div style="margin-left: 5">';
      printf (" [%.2f kB]", $size/1024);
      echo '</a></td></tr></table>'; }
?>


Proszę o pomoc
Kod
<?PHP
$display['xlt'] = "img/xml.bmp";  
$display['xls'] = "img/xml.bmp";  
// itd...
global $display;

array_key_exists(get_extension($file), $display)
                         echo "<img align=absmiddle src=\"";  
                         echo $display[get_extension($file)];
                         echo "\"> ";  
?>


Ten post edytował david8213 14.02.2010, 09:01:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
altruista2
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 32
Dołączył: 8.02.2010

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


@up: serio będziesz odczytywał typ MIME dla np. 1000 plików? Wydajne rozwiązanie, nie ma co...

I po cholerę robić klasy CSS skoro jemu potrzebne jest tylko zmienianie obrazka ikonki?

I skrypt wyświetlający listę plików ma potrzebować dostęp do bazy danych?!

Dość kiepska ta twoja wizja (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Pilsener
post
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat(altruista2 @ 14.02.2010, 12:01:37 ) *
@up: serio będziesz odczytywał typ MIME dla np. 1000 plików? Wydajne rozwiązanie, nie ma co...

I po cholerę robić klasy CSS skoro jemu potrzebne jest tylko zmienianie obrazka ikonki?

I skrypt wyświetlający listę plików ma potrzebować dostęp do bazy danych?!

Dość kiepska ta twoja wizja (IMG:style_emoticons/default/biggrin.gif)


1. Nikt nie mówił, że wyświetlone będzie na raz 1000 plików a nawet jeśli to pobranie rozszerzeń zamiast typów mime nie będzie dużo szybsze.
2. Nikt też nie mówił, skąd te pliki się tam wzięły, zakładam, że z jakiegoś standardowego uploadu, który był tu wielokrotnie omawiany, czyli są informacje w bazie.
3. Klasy CSS po to, że każdy <img to więcej kodu i więcej żądań http, strona z wykorzystaniem CSS będzie kilka razy szybsza od tej, gdzie wszystko będzie w HTML, ma to też dużo innych zalet, choćby łatwa zmiana wyglądu czy możliwość wielokrotnego zastosowania.

Jeżeli chce człowiek zrobić prowizorkę to też nie rozumiem, po co ten cały kod mu dajecie? Nie wystarczy, by rozszerzenie pliku = nazwa ikony, a wcześniej sprawdzić czy ikona istnieje funkcją file_exists?

  1. if(file_exists('img/'.$ext.'.bmp')) {
  2. echo '<img src="img/'.$ext.'.bmp">';
  3. }else{
  4. echo '<img src="img/domyslna.bmp">';
  5. }
- ? I gotowe, ext to oczywiście rozszerzenie pliku. I czemu ikony w bmp a nie png?

//edit: literówka w kodzie

Ten post edytował Pilsener 14.02.2010, 13:07:50
Go to the top of the page
+Quote Post

Posty w temacie
- david8213   [PHP]Jak przypisać danemu rozszerzeniu pliku dany obrazek?   14.02.2010, 08:49:31
- - fifi209   No dobra, ale zapomniałeś podać swój kod, w którym...   14.02.2010, 08:52:03
- - Kshyhoo   Przecież to proste. Rozpoznajesz plik po rozszerze...   14.02.2010, 09:01:10
- - david8213   Zrobiłem coś takiego. Da radę zrobić to krótszym s...   14.02.2010, 09:48:04
- - darko   Aż się prosi o switch - case   14.02.2010, 09:56:45
- - thek   Można switch-case, albo tablica w formie klucz=...   14.02.2010, 10:05:12
- - david8213   chcę to skrócić Kodif (substr($file,...   14.02.2010, 10:21:30
- - altruista2   ehh, a jak plik będzie miał rozszerzenie .jpeg alb...   14.02.2010, 11:27:10
- - Pilsener   CytatRozpoznajesz plik po rozszerzeniu - Wy chyba ...   14.02.2010, 11:54:56
- - altruista2   @up: serio będziesz odczytywał typ MIME dla np. 10...   14.02.2010, 12:01:37
|- - Pilsener   Cytat(altruista2 @ 14.02.2010, 12:01...   14.02.2010, 13:03:43
- - david8213   Zrobiłem coś takiego Kod<?PHP //ikonki functi...   14.02.2010, 12:10:16
- - Kshyhoo   Cytat(altruista2 @ 14.02.2010, 11:27...   14.02.2010, 12:11:45
- - altruista2   Co to znaczy "nie działa do końca"? @Ks...   14.02.2010, 12:11:54
- - Kshyhoo   Przy 1000 rozszerzeń nie ma kompromisu między wyda...   14.02.2010, 12:17:06
- - david8213   Działa,działa - Dzięki Można jeszcze zrobić że jak...   14.02.2010, 12:25:19
- - Kshyhoo   [PHP] pobierz, plaintext '' => 'nic'[PHP] pobie...   14.02.2010, 12:29:21
- - altruista2   Domyślna: [PHP] pobierz, plaintext $ext = file_ext...   14.02.2010, 12:32:59
- - david8213   jak rozszerzenie będzie inne niż w tablicy to poja...   14.02.2010, 12:40:22
- - altruista2   Tak, napisałem przecież: Cytat(altruista2 @ 1...   14.02.2010, 12:43:26
- - david8213   Ta domyślna nie działa Gdzieś jest błąd Kod<?...   14.02.2010, 12:45:13
- - altruista2   [PHP] pobierz, plaintext $ext = file_ext($file...   14.02.2010, 12:48:55
- - david8213   Dzięki. Działa.Zapomniałem średnika   14.02.2010, 12:56:23
- - altruista2   Kliknij pomógł to temat zaświeci się na żółto....   14.02.2010, 12:57:26
- - krzysiekk   witam moze mdo odczytania foleru trzeba wykozytac...   14.02.2010, 13:05:48
- - altruista2   CytatJeżeli chce człowiek zrobić prowizorkę to też...   14.02.2010, 13:06:22
- - Pilsener   No to sobie skopiuje tą samą ikonkę tylko z inną n...   14.02.2010, 13:09:13
- - david8213   Mój końcowy kod wygląda następująco. Wszystko dzia...   14.02.2010, 13:14:36


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

 



RSS Aktualny czas: 14.10.2025 - 02:05