Autor | Zpráva | ||
---|---|---|---|
Han Profil |
#1 · Zasláno: 19. 11. 2011, 20:14:04
Zdravím, mám otázku, ako sa dá spraviť niečo ako
while (file_exists($soubor.".php")) { include $soubor.".php"; $soubor++; Ale s tým, že keď mám súbory ako 1,2,3,4,5.php ale medzi nimi mi jeden chýba tak aby to fungovalo? Pretože keď to mám takto a vymažem súbor 3.php tak mi to vyhodí všetko od 2ky. Takže sa pýtam, dá sa spraviť niečo také, no s tým že to pôjde aj keď tam nejaký súbor nebude? Ďakujem. |
||
okolojdouci Profil * |
#2 · Zasláno: 19. 11. 2011, 20:36:46
Han:
Zjevně jsi použil postup děravý jak řešeto. Zkus http://cz2.php.net/readdir |
||
Han Profil |
#3 · Zasláno: 19. 11. 2011, 20:54:36 · Upravil/a: Han
No to možno áno... Som začiatočník... Ešte mám otázku ako vytiahnem z názvu súboru čisto to čo je pred .php?
|
||
okolojdouci Profil * |
#4 · Zasláno: 19. 11. 2011, 21:06:14
Nahradíš text ".php" mezerou, třeba pomocí http://cz2.php.net/str_replace
Ale ber v úvahu, že bys měl ošetřit riziko, že se soubor bude jmenovat třeba soubor.phpneco.php |
||
Bertram Profil |
#5 · Zasláno: 19. 11. 2011, 21:12:00
Ahoj, pokud ti jde jen o aktuální adresář a koncovky .php mohlo by ti stačit něco jako:
<?php foreach (glob("*.php") as $filename) { echo $filename . "<br />"; echo "bez koncovky: " . substr($filename, 0, strlen($filename)-4) . "<br />"; } ?> No a ta echa si nahradíš tím co s tím potřebuješ provádět. |
||
Han Profil |
#6 · Zasláno: 19. 11. 2011, 21:16:05
Ďakujem, ako by som prosím ešte ošetril to, že by sa mi vypísali iba súbory s číslom ako názov? Skúsil som porovnanie s getType() ale vyhodnotilo mi to aj 1 ako string tak neviem...
|
||
Bertram Profil |
#7 · Zasláno: 19. 11. 2011, 21:28:12
Pokud nemáš názvy které začínají číslicí a pokračují řetězcem stačí pouhé porovnání, jestli je název větší jak nula a o zbytek se postará přetypování.
|
||
Han Profil |
#8 · Zasláno: 19. 11. 2011, 21:32:46 · Upravil/a: Han
Jé, ďakujem ;) Ešte dotaz, ako zoradím tie čísla od 10 po 1 /od najväčšieho po najmenšie? / Pls.
|
||
Bertram Profil |
#9 · Zasláno: 20. 11. 2011, 00:15:05
foreach (glob("*.php") as $file) { $filename = substr($file, 0, strlen($file)-4); if($filename>0){ $numericalFileName[] = $filename; } } rsort($numericalFileName); var_dump($numericalFileName); |
||
Han Profil |
#10 · Zasláno: 20. 11. 2011, 09:56:29
A nejaký spôsob ako to zoradenie zakomponovať do toho readdir?
|
||
Kcko Profil |
#11 · Zasláno: 20. 11. 2011, 13:22:47
Han:
Ano, stačí použít to co máš na krku (tj. hlavu). Místo glob použiješ readdir a jinak je to to samé. |
||
Han Profil |
#12 · Zasláno: 20. 11. 2011, 14:35:11 · Upravil/a: Han
Samozrejme, škoda že nechápem ničomu z toho kódu a tiež škoda že nefunguje...Teda.. možno že funguje a len ja ho neviem použiť... Pôvodne som mal tento kód
$slozka = opendir ("$kategoria"); $pripony= Array (".","php","bak","html","png","jpg"); $odstran= Array (""," "); while (false !==($vytah= readdir($slozka))) { $vypis= str_replace($pripony,"",$vytah); $vysledok= trim ($vypis,$odstran[1]); if($vysledok > 0 ) { $text= file_get_contents($kategoria.$vysledok. ".php"); ... Možno si pomyslíte že je to hovadina, ale toto mi aspoň funguje, ajkeď to nezoraďuje čísla :/ |
||
Časová prodleva: 12 let
|
0