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
wrzasq
post
Post #2





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

Posty w temacie


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: 6.10.2025 - 11:07