Autor | Zpráva | ||
---|---|---|---|
IkE Blaster Profil * |
#1 · Zasláno: 5. 5. 2006, 14:59:20
Lze nějak vypsat obsah třeba z 20 souborů naráz přes require?
něco jako: require("nov/nov*.php"); místo * je v názvu souboru číslo takže by to mělo zjistit a udělat toto: require("nov/nov1.php"); require("nov/nov2.php"); atd. a všechny vypsat |
||
Hugo Profil |
#2 · Zasláno: 5. 5. 2006, 15:01:05
for ($i=1;$i<20;++$i)
{ require('nov/nov'.$i.'.php'); } |
||
IkE Blaster Profil * |
#3 · Zasláno: 5. 5. 2006, 15:06:13
Díky funguje to. ještě se chci zeptat, jde udělat, aby byly od sebe oddělané čárou?
koukněte se na http://phpbb-ike.europeel.com/noframe/index.php?page=novinky je to jen kostra webu. nejlépe zakomponovat do css |
||
IkE Blaster Profil * |
#4 · Zasláno: 5. 5. 2006, 15:16:13
už to nepotřebuji. vyřešil jsem to přidáním na konec novinky
|
||
IkE Blaster Profil * |
#5 · Zasláno: 5. 5. 2006, 15:19:58
už to nepotřebuji. vyřešil jsem to přidáním na konec novinky
|
||
IkE Blaster Profil * |
#6 · Zasláno: 5. 5. 2006, 15:53:51
Nevíte, jestli by to šlo otočit? od 20 do 1?
nebo podle data? |
||
Hugo Profil |
#7 · Zasláno: 5. 5. 2006, 16:01:59
IkE Blaster
Zkus použít mozek a uvidíš, že to půjde otočit. |
||
IkE Blaster Profil * |
#8 · Zasláno: 5. 5. 2006, 16:19:39
for ($i=20;$i<1;++$i)
{ require('nov/nov'.$i.'.php'); } myslíš takhle? nebo for ($i=1;$i>20;++$i) { require('nov/nov'.$i.'.php'); } takhle? Ani jedno mi nebude fungovat, protože tam nemám 20 příspěvků. Takže moc prosím o radu. vyhovovalo by mi podle data, ale to bude složité. |
||
Hugo Profil |
#9 · Zasláno: 5. 5. 2006, 16:27:47
IkE Blaster
To co jsi napsal je špatně. Musíš začít na 20 a potom v každé iteraci musíš použít dekrementaci. for ($i=20;$i<1;--$i) { require('nov/nov'.$i.'.php'); } Podle data to taky není problém. Stačí projít ty soubory, načíst do pole název a čas poslední změny a pak to setřídit podle času. |
||
IkE Blaster Profil * |
#10 · Zasláno: 5. 5. 2006, 16:36:25
Takže stačí napsat do skriptu
for ($i=20;$i<1;--$i) { require('nov/nov'.$i.'.php'); } a mělo by to jít? já jsem to zkoušel a buď to vypíše jen jednu zprávu nebo žádnou. Musim někam něco ještě připsat nebo to nepude? S tim podle času jsem tě moc nepochopil. Pokud můžeš tak mi napiš na ICQ 236-663-765 |
||
Hugo Profil |
#11 · Zasláno: 5. 5. 2006, 16:43:05
IkE Blaster
Bacha, pokud require narazí na soubor, který neexistuje, tak zahlásí error a skončí. S tím datem je to jednoduché, ale budeš muset věnovat trochu času teorii. |
||
IkE Blaster Profil * |
#12 · Zasláno: 5. 5. 2006, 16:47:11
Mě to žádný error nehlásí. Nestane se vůbec nic.
I když dám toto tak to blbne (mám tam 4 soubory). for ($i=4;$i<1;--$i) { require('nov/nov'.$i.'.php'); } Pomůžeš mi s tím datem prosím? Nějakej stručnej návod co kam dát. PS. Máš ICQ? |
||
Hugo Profil |
#13 · Zasláno: 5. 5. 2006, 16:51:28
IkE Blaster
Možná máš jen zakázano vypisování chyb. Tak na dálku těžko říct. Ad datum Teď nemám čas ani chuť to psát. Podívej se do manuálu na funkce pro práci s polem a se soubory a časem to dáš dohromady. ICQ mám, ale nedám. |
||
hanakus Profil |
#14 · Zasláno: 5. 5. 2006, 19:07:04 · Upravil/a: hanakus
Toto řešení je podle mě lepší, jelikož si regulární výraz můžeš libovolně upravit a nejsi odkázán jen na jméno souboru nov1.php, nov2.php novx.php ...
$dir=opendir("nov"); while($file=readdir($dir)) { if (ereg("nov[0-9].php",$file)) include "nov/".$file; } opendir - otevře adresář readdir - vrací jména souborů v otevřeném adresáři s řazením souborů podle data (od nejnovějšího k nejstaršímu): $dir=opendir("nov"); while($file=readdir($dir)) { if (ereg("nov[0-9].php",$file)) { $ftime[filemtime("nov/".$file)] = $file; } } krsort($ftime,1); //sestupne razeni foreach ($ftime as $file) { include "nov/".$file; } |
||
IkE Blaster Profil * |
#15 · Zasláno: 5. 5. 2006, 20:22:45
Zkusil jsem to druhý podle času. vypadá to slibně ale hází to chyby:
Warning: opendir(): SAFE MODE Restriction in effect. The script whose uid is 99 is not allowed to access /3w/webz.cz/f/fcpisek owned by uid 0 in /3w/webz.cz/f/fcpisek/url/novinky.php on line 2 Warning: opendir(nov): failed to open dir: No such file or directory in /3w/webz.cz/f/fcpisek/url/novinky.php on line 2 Warning: readdir(): supplied argument is not a valid Directory resource in /3w/webz.cz/f/fcpisek/url/novinky.php on line 3 Warning: krsort() expects parameter 1 to be array, null given in /3w/webz.cz/f/fcpisek/url/novinky.php on line 10 Warning: Invalid argument supplied for foreach() in /3w/webz.cz/f/fcpisek/url/novinky.php on line 12 |
||
IkE Blaster Profil * |
#16 · Zasláno: 5. 5. 2006, 20:23:15
novinky.php:
<?php $dir=opendir("nov"); while($file=readdir($dir)) { if (ereg("nov[0-9].php",$file)) { $ftime[filemtime("nov/".$file)] = $file; } } krsort($ftime,1); //sestupne razeni foreach ($ftime as $file) { include "nov/".$file; } ?> |
||
rabbit Profil |
#17 · Zasláno: 5. 5. 2006, 20:42:01
IkE Blaster
To co jsi napsal je špatně. Musíš začít na 20 a potom v každé iteraci musíš použít dekrementaci. for ($i=20;$i<1;--$i) Hugo, Hugo ... ... chybička se vloudí, takže otázka za 100 bodů: Kolikrát proběhne cyklus for, který je zadaný takto: for ($i=20;$i<1;--$i) {} ??? A malá nápověda formou doplňující otázky: Nesouvisí s tím také, proč mu to neháže žádné chyby??? ;-))) |
||
Hugo Profil |
#18 · Zasláno: 5. 5. 2006, 20:50:39
Nojo, ale to je detail, já jsem to totiž zkopíroval z toho co navrhoval IkE Blaster. Jen jsem změnil inkrementaci na dekrementaci.
Ale to je stejně jedno, protože s jeho znalostmi php to stejně sám nerozchodí. Navíc na serveru má evodentně safe mode, který to mírně komplikuje. |
||
rabbit Profil |
#19 · Zasláno: 5. 5. 2006, 21:16:40
To je vše pravda, ale pobavilo mě rozebírání vypnutých error hlášek, ke kterým jste se díky této chybce dostali ;-))
Jinak teď jsem si přečetl Diskuse » PHP » administrace souborů s částečným wysiwyg a jsem si naprosto jistý, že to sám nerozchodí. A s takovým přístupem jako je v tom threadu, bych mu už asi vůbec neradil. |
||
Hugo Profil |
#20 · Zasláno: 5. 5. 2006, 21:32:46
rabbit
Nojo, řeším při tom i jiné věci a ve skrytu duše doufám, že když sem plácnu kus kódu, tak si ho dotyčný upraví a ne pouze tupě zkopíruje. Překlep se může stát vždycky. |
||
IkE Blaster Profil * |
#21 · Zasláno: 6. 5. 2006, 14:12:52
díky za kritiku mých schpností, ale nějak se to naučit musím (můžu).
Takže když se tu tak vychloubáte, že vy jste bohové a já neumím nic, tak mi vymyslete ten skript prosím. A to druhý s tím částečným wysiwygem už jsem zprovoznil přes J# ftp funkce jako program na disku ;-o. |
||
Hugo Profil |
#22 · Zasláno: 6. 5. 2006, 14:40:32
IkE Blaster
Pokud se chceš PHP naučit, tak si to napiš sám. Jiná cesta není. Pár řešení je i v tomto vlákně, stačí je jen trochu upravit. Nikdo se tu nevychloubá, bylo to jen prosté konstatování faktu. |
||
IkE Blaster Profil * |
#23 · Zasláno: 6. 5. 2006, 16:16:36
No tak jako já trošku php umim, ale jen základy typu k čemu slouží include a podobně.
Nic to nevypisovalo, protože tam nebylo 20 novinek ale 4. takže mi to jelo přes: <?php for ($i=4;$i>0;--$i) { require('nov/nov'.$i.'.php'); } ?> Chybu si tam měl malou to sem si upravil hned po radě. nevim ale jestli nějak lze udělat místo 4 poslední největší číslo. |
||
Hugo Profil |
#24 · Zasláno: 6. 5. 2006, 16:18:59
Tak to udělej jak radil hanakus. Projeď celý adresář a vyhledej soubory, jejichž název odpovídá danému vzoru.
Pokud ovšem chceš tímto způsobem vypisovat novinky nebo nějaké zprávy, tak to udělej pomocí databáze. Ušetříš si tím moc práce a ten systém bude přehlednější. |
||
IkE Blaster Profil * |
#25 · Zasláno: 6. 5. 2006, 16:53:36
nějak jsem ho nepochopil. zřejmě tam musim něco doplnit, protože jsem zkoušel a vždy to vypsalo stejnou chybu. Neporadíš prosím co?
|
||
Anonymní Profil * |
#26 · Zasláno: 7. 5. 2006, 19:16:02
IkE Blaster
Warning: opendir(nov): failed to open dir: No such file or directory in /3w/webz.cz/f/fcpisek/url/novinky.php on lin Problém bude v tom, že se opravdu snažíš otevřít neexistující adresář. Řekl bych že jsi v adresáři url a snažíš se listovat v adresáři na stejné úrovni. Takže zkus tohle ../nov. Další chyby jsou jen důsledkem této. Jinak skript jsem zkoušel doma, a normálně funguje, takže si zkontoluj cesty, názvy souborů apod. |
||
hanakus Profil |
#27 · Zasláno: 7. 5. 2006, 19:19:07
(Zapoměl jsem se přihlásit).
|
||
IkE Blaster Profil * |
#28 · Zasláno: 7. 5. 2006, 20:48:26
Já jsem to vyřešil tahle:
<? function Pocet_Souboru ($adresar) { $adresar2 = Dir($adresar); $PocetSouboru = 0; while ($polozka=$adresar2->Read()) { if (filetype($adresar."/".$polozka) == "file"): $PocetSouboru++; endif; } $adresar2->Close(); return $PocetSouboru; } // Funkce se volá tímto příkazem // místo $adresar se napíše adresář, ve kterém se mají počítat soubory Pocet_Souboru("./nov"); ?> <? for ($i=Pocet_Souboru("./nov");$i>0;--$i) { require('nov/nov'.$i.'.php'); } ?> |
||
IkE Blaster Profil * |
#29 · Zasláno: 7. 5. 2006, 20:48:59
tamto ale ještě zkusim.
|
||
IkE Blaster Profil * |
#30 · Zasláno: 7. 5. 2006, 21:06:28
už jse mto rozchodil. já jsem to měl přes proměnné, takže to hlásilo chyby.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0