Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zamiana stringu na tablice, jak wyzej
neoangin
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 11.07.2006
Skąd: Olsztyn

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


  1. <?php
  2.  
  3. $directory="images/";
  4. $dir=opendir($directory);
  5. $file_list="<UL>";
  6. while($file_name=readdir($dir))
  7. {
  8. if(($file_name!=".")&&($file_name!=".."))
  9. {
  10. $file_list.="<br />$file_name";
  11. }
  12. $a++;
  13. }
  14. $file_list.="</UL>";
  15. closedir($dir);
  16.  
  17.  
  18.  
  19. $patterns[0] = '/.gif/';
  20. $patterns[1] = '/.jpg/';
  21. $patterns[2] = '/.png/';
  22. $replacements[2] = '';
  23. $replacements[1] = '';
  24. $replacements[0] = '';
  25. echo preg_replace($patterns, $replacements, $file_list);
  26.  
  27. ///jak zamienic $file_name na tablice $file_name z rekordami kolejnych wierszy (czyli po <br/> nowy rekord)?
  28.  
  29. echo '<FORM METHOD="POST">Dodawanie aparatu:';
  30. echo '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
  31.  echo '<tr><td>Nazwa obrazka:</td><td><select name="obrazek">';
  32.  
  33. for ( $i=0; $i < $a; $i++);
  34. {
  35. echo '<option>$file_list[$i]</option>';
  36. }
  37.  
  38. echo '</select>';
  39. echo '</tr><tr><td>Tytul:</td><td><INPUT ';
  40. echo 'TYPE="text" NAME="tytul"></td></tr><tr><td>Opis:</td>';
  41. echo '<td><INPUT TYPE="text" NAME="opis"></td><td>Wiekszy opis:</td><td><input type="text" name="opisw"></td></tr>';
  42. echo '</TABLE><INPUT TYPE="submit" VALUE="dodaj"></FORM>';
  43.  
  44.  
  45.  
  46. ?>

jak zamienic $fiile_name na tablice $file_name z rekordami kolejnych wierszy (czyli po <br/> nowy rekord)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Jest już późno i mój umysł nie pracuje na najwyższych obrotach i być może nie do końca Ciebie zrozumiałem ale wydaje mi się że możesz użyć explode" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. $tablica=explode("<br/>", $file_name);
  3.  
  4. echo $tablica[0]; //pierwszy rekord itd.
  5. ?>




Łukasz


--------------------
Go to the top of the page
+Quote Post
wrzasq
post
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

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


wrzuciles jakis kod, ktory nie za bardzo wiadomo co robi. chcialem juz napisac to co napisal kossa, ale nie chcialem sie powtarzac, wiec przemyslalem ponownie twoj kod (a po tylu piwach o tej porze i w ogole w wakacji myslenie nie jest latwe) i zastanawiam sie, skoro chcesz to jako tablice, to po co doklejasz stringa? o.0

nadal nie jestem (chyba nikt z czytajacych nie jest) pewien, czy tego wlasnie chcesz, ale jesli dobrze cie rozumiem, to wystarczy cos takiego, zamiast twojej petli:

  1. <?php
  2. $file_list=array();
  3. while($file_name=readdir($dir))
  4. {
  5. if( $file_name!='.' && $file_name!='..')// po co ci te nawiasy przy warunkach? o.0
  6. {
  7. $file_list[] = $file_name;
  8. }
  9. }
  10. ?>


$a tez ci nie jest potrzebne w takim wypadku, bo masz count($file_list); (wywolujesz tylko raz, wiec nawet przy drastycznym nakladzie na wydajnosc, chyba nie bedzie to problem.

-edit-

w ramach dopisku: jakbys chcial powrotu do swojej formy, zawsze mozesz zastosowac kod odwrotny do tego, co napisal kossa (uzyj implode() zamiast explode()), a poza tym twoj kod generuje niepoprawny logicznie HTML jesli chodzi o ta liste plikow (po prostu obpisuje liste plikow zaczynajacych sie od nowej lini tagami <ul>, </ul>, co jest kompletnie bez sensu).

Ten post edytował wrzasq 23.08.2007, 01:00:10


--------------------
Go to the top of the page
+Quote Post
neoangin
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 11.07.2006
Skąd: Olsztyn

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


juz wszystko paca, zupelnie mi sie zapomnialo oexplode" title="Zobacz w manualu PHP" target="_manual , oczyscilem troche ten kod i stwierdzilem ze nie ma sensu skracac plikow z koncowek .gif .jpg itp . dzieki za pomoc.
Go to the top of the page
+Quote Post
phpion
post
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Tak na marginesie:
ten warunek:
  1. <?php
  2. if ($file_name != '.' && $file_name != '..')
  3. ?>

lepiej zapisać jako:
  1. <?php
  2. if ($file_name{0} != '.')
  3. ?>

Dlaczego? Spowoduje on ukrycie . (katalog bieżący), .. (katalog nadrzędny) czyli to co warunek wyjściowy, ale dodatkowo ukryje pliki rozpoczynające się od . czyli np. .htaccess czyli pliki ukryte.
pion
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 Aktualny czas: 19.08.2025 - 16:12