Autor | Zpráva | ||
---|---|---|---|
Hondrej Profil * |
#1 · Zasláno: 4. 2. 2006, 19:44:30
Vytvarim si funkci, ktera mi spocte pocet vyskytu audio souboru (pomoci toho, ze zjistim, kolikrat se v retezci vyskytuje podretezec jako napr. mp3, mp2, wma, mid, mp4 apod.) a mam s ni problem - php pise Warning: Empty delimiter in ...
Nejprve ukazka toho, jak to funguje v pripade 1 jedineho typu souboru (vyhledani vyskytu mp3): <?php $count = explode(".mp3", $retezec); ##1. moznost## foreach ($count as $key=>$value) { echo "Vyskyt mp3 1. varianta<br>\n"; } echo (count($count)-1); ##2. moznost## for ($i=0;$i<count($count);$i++) { echo "Vyskyt mp3 2. varianta<br>\n"; } echo (count($count)-1); ?> Tak a ted budu chtit spocitat vyskyt VSECH typu audio souboru, tedy nikoliv jen tech, ktere jsou mp3, a zde mam take problem: <?php $audio_pripony = array(".mp3", ".mp2", ".ogg", ".wma", ".wav", ".mp4", ".mid"); $retezec = "well let me say, that the most popular audio format is mp3. Here is a free sample: <a href=\"sample.mp3\">free sample</a>. The other most popular and apparently better is one called ogg: <a href=\"sample.ogg\">sample</a>. For Windows users the most common is a audio format socalled wma whis is an abbreviation (shortcut for) for windows media audio file: <a href=\"sample.wma\">sample</a>. Abychom to spocitali, 1x mp3, 1x ogg, 1x wma. Total count: 3 results."; ##ODDELOVAC## for ($index=0;$index<=count($audio_pripony);$index++) { $pocet[$index] = explode($audio_pripony[$index], $retezec); for ($q=0;$q<count($pocet[$index]);$q++) { echo "Vyskyt".$audio_pripony[$index]."<br>\n"; // echo $pocet[$index][$q]; } echo (count($pocet[$index])-1); echo "<hr>\n"; } ?> Ta chyba s empty delimiterem ukazuje na $pocet[$index] = explode($audio_pripony[$index], $retezec); a ja nechapu proc. Mimoto diky tomu se tam vypisuje 1hlaseni navic. Kdyz se script spusti jako celek, mame 7 typu souboru, ale vypise vam to 8x. Proc? PS - Prispevky o tom, ze zjisteni poctu mp3 souboru jde zjistit jinak mi prosim nepiste, dekuji. Sam vim, ze to jde udelat metodou zkracovani celkoveho retezce (prijde mi slozitejsi) nebo primo system naprogramovat dle potreb... |
||
gaminn Profil * |
#2 · Zasláno: 4. 2. 2006, 21:37:08
Vypiš si, jaký delimiter (předpokládám, že tím je myšlený separator) je zrovna u funkce explode použit. Myslím, že problém by mohl být u for ($index=0;$index<=count($audio_pripony);$index++) kdy zaručeně jeden $index (buď 0, nebo count($audio_pripony), popř. jakýkoliv jiný, pokud indexy pole $audio_pripony nejsou číslovány popořadě od 0, resp. 1) neexistuje. Pomohlo by zřejmě přepsání toho <= na pouhé <.
|
||
Hondrej Profil * |
#3 · Zasláno: 4. 2. 2006, 21:45:43
Anoano, uz to bylo vyreseno. Dekuji!
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0