MRT Portál
Sziasztok! Létrehoztam ezt a témát, mert úgyis mindig van valami bajom, miközben magamnak, később másoknak szeretnék egy text alapú portált létrehozni. Tudom, hogy van már ilyen dolog, de más munkájába nem szeretek belepiszkálni, mert annyira nem értek hozzá, szeretném apránként megtanulni, meg nem is tetszik maga az alapötlet, ahogy meg van valósítva (az elrendezési és menüpontok beli kötöttségekre gondolok). Íme az első (ebben a témában) kérdésem:
----------------------
$i=1;
$dir=opendir('wnew');
while(gettype($file=readdir($dir)) != boolean)
{
$i=$i+1;
}
for ($i; $i<=0; $i=$i-1)
{
$file=opendir($dir);
$open=fopen($file, 'r');
$stuff=fgets($open);
fclose($open);
echo($stuff);
}
---------------
Ez a wnew könyvtár tartalmát nyitja meg fordítva, mint ahogyan a könyvtárnevek vannak, s kiolvassa a tartalmát. Elvileg. Az a baj, hogy nem ír ki semmit, de a debugger sem jelez hibát. Eddig ez a legtanácstalanabb helyzet, amiben voltam.. Előre is köszi a segítséget: Mr.Tiny
■ ----------------------
$i=1;
$dir=opendir('wnew');
while(gettype($file=readdir($dir)) != boolean)
{
$i=$i+1;
}
for ($i; $i<=0; $i=$i-1)
{
$file=opendir($dir);
$open=fopen($file, 'r');
$stuff=fgets($open);
fclose($open);
echo($stuff);
}
---------------
Ez a wnew könyvtár tartalmát nyitja meg fordítva, mint ahogyan a könyvtárnevek vannak, s kiolvassa a tartalmát. Elvileg. Az a baj, hogy nem ír ki semmit, de a debugger sem jelez hibát. Eddig ez a legtanácstalanabb helyzet, amiben voltam.. Előre is köszi a segítséget: Mr.Tiny
Nem azt csinálja
olvasd el még egyszer:
http://hu.php.net/manual/hu/control-structures.for.php -milyen feltételt kell a ciklusnak megadni
Aztán ha azt kijavítottad, ezt csinálja ha nem áll le hibával: megnyitna egy valószínűleg nem létező konyvtárat (mivel a $dir-ben egy int van), utána a visszakapott értéknek (false) megfelelő fájlt megnyitná olvasásra. Ha lenne ilyen fájl, kiolvasna 1k-t, aztán kiírná, mindezt annyiszor amennyi könyvtárbejegyzést megszámolt az elején.
Nem korai még a portálírásra gondolnod? Először szerintem gyakorolj kisebb feladatokon, különben lehet hogy elmegy a kedved az egésztől.
Nem :)
A for ciklusra gondoltam, h n
Próbálom kijavítani, az opendir readdir akart lenni. Köszi szépen, még majd sztem úgyis lesz kérdésem. Ha elkészül a portál, szólok :).
illesztési felület?
Vagyis írsz egy olyan portált, ami mehet akár pgsql-lel, mysql-lel, de akár txt alapúan is. Ez csak egy ötlet, még sosem próbáltam, de szerintem komoly kereslet lenne rá.
Amúgy meg tényleg lehet, hogy picit még gyakorolni kéne. Egy portál megírása nem csak abból áll, hogy a funkciókat megvalósítód - mi lesz akkor a kezelhetőséggel, felhasználóbarát megoldásokkal, biztonsággal, stb.? Szerintem ez igényel némi rálátást, vagy legalább tapasztalatot. Nem elrettenteni szeretnélek, csak rávilágítani arra, hogy nem annyira vicces dolog három hónapot dolgozni valamin, mert mindig rájön az ember, hogy másképp kellett volna...
Mondjuk a lelkesedés becsülendő, és ebből tanulsz. Sok sikert!
Jó ötlet
Megvalósítási problémák
--------
Poetro
Megvan :)
$i=1;
$dir=opendir('wnew');
while(gettype($file=readdir($dir)) != boolean)
{
$i=$i+1;
}
closedir($dir);
$dir=opendir('wnew');
for (; ; )
{
If ($i==0)
{
break;
}
$file=readdir($dir);
$open=fopen('wnew/'.$file, 'r');
$stuff=fgets($open, '1024');
fclose($open);
echo($stuff);
$i=$i-1;
}
for helytelen használata
Az alsó for-t, ha már így akarod lecserélném egy while(true) ciklusra...
vagy
Poetro
Így is valami baja van, pedi
Parse error: parse error, unexpected T_DEC, expecting ')' in /mnt/ultraweb/w/we/webedit/also.php on line 22
Úgy számold, hogy van előtte még 13 sor egyéb dolog, de én nem találom meg a )-t. Még keresem.
Megvan
Mr.Tiny
Hú télleg, ez nem írja ki
Valami miatt nem jó...
A programban 2 kikötés is van arra, hogy a . és .. karaktereket ne tegye bele a tömbbe, mégis beleteszi... Na most akkor mi is a gáz??? Itt a kód:
Warning: main(wnew/): failed to open stream: Invalid argument in /mnt/ultraweb/w/we/webedit/also.php on line 32
Warning: main(): Failed opening 'wnew/' for inclusion (include_path='.') in /mnt/ultraweb/w/we/webedit/also.php on line 32
_____________________
Egyébként a program jól működik, csak kidob 2 hibaüzenetet
Tudja valaki? Én még most s
csak egy apró hiba
Kösz
Mr.Tiny :: MRT Site
Kódolás
Mr.Tiny :: MRT Site
több lehetőség is van
1. Csináld az adatfájlokat .php kiterjesztéssel. Akkor a szerver nem küldi el azt, csak az esetleges hibaüzenetet. Php fájl lévén pedig loggolni is lehet a közvetlen eléréseket. Kiolvasáskor meg nem include() hanem fopen().
2. Tedd az adatfájlokat a www könyvtáron kívülre. Így a webről nem érhetők el közvetlenül.
3. Védd az adatmappa tartalmát .htaccess -el a közvetlen eléréstől.
... + van még pár lehetőség.
Szerintem a futásidőben oda-vissza kódolgatás fölösleges bonyolítása a dolgoknak.
Üdv: Thom
Sajna nem mind megoldható
Mr.Tiny :: MRT Site
Túlbonyolítod
Ha ennyire félted az adataidat, de nincs .htaccess-re lehetőséged, használj ilyen fájlneveket: jh34Hg3f45.txt, vagy tedd be egy ugyanilyen kusza nevű alkönyvtárba.
Most hirtelen ennyi jutott eszembe..
Kösz
Még egy probléma...
Parse error: parse error, unexpected $ in /mnt/ultraweb/w/we/webedit/includes/count.php on line 98
Ez valahogy mindig az utolsó sorhoz kötődik, pedig ott csak a ?> zárótag van.
A kód utolsó funkciója:
function adduserip($ip)
{
//add users's ip and user's visit
$array2=array();
$array2=readdata();
$i=count($array)++;
$array2[$i]=$ip;
$array2[2]=$array[2]++;
$array2[4]=$array[4]++;
$array2[5]=$array[5]++;
$array2[6]=$array[6]++;
reload($array2);
return true;
}
?>
Ezt átnéztem, de nem láttam hibát, ami miatt ezt csinálná. Ha valakinek van ötlete, legyen kedves szóljon. Köszi:
Mr.Tiny
Ha valakinek lenne ötlete,
Blokkok lezárva?
Ilyenkor érdemes az egészet kikommentelni, és egyre többet "visszaengedni" - amint megjelenik a hiba, tudod, hogy melyik részben van.
Ez amúgy a klasszikus "segíts magadon..." eset - légy találékony, nem muszáj mindennel a fórumra rohanni.
Egyébként meg szerintem telepíts magadnak otthonra is saját webszervert + mysql szervert; egyrészt nem szép dolog devszervernek használni egy "éles" környezetet, másrészt neked se kell állandóan felpakolászni mindent az UW-ra.
A telepítésről van több cikk itt is, a weblaboron.
Köszi szépen a hozzászólást, teljesen igazad van,
Mr.Tiny
Még egy baj, de más jellegű
Van bajom, nem is kevés. Föltettem Apache2-t az itteni leírásoknak megfelelően, működik minden, de valami miatt egy fájlt nem akar megnyitni. Minden php, mindent megnyit. Teszek bele egy html fájlt, egy linkkel összekapcsolva, egy másik könyvtárba (localhost/news/full/fajl.htm), nem nyitja meg. Próbálom azt, hogy teljesen mást írok be neki, egy php fájlba annyit, hogy echo"Sikerült";. Erre azt sem nyitja meg. Beírom teljes hivatkozást egymagába böngészőbe, nem niytja meg.NOt found szöveg. Na most mi a baja??? Bármivel próbálkozok abban a könyvtárban, nem jó.
-------------------------------
Másik bajom, hogy túl lassú a php-s IP alapú számláló. Tud valaki olyat, amelyik elég gyors, mert ezt nem találtam. Jó lenne, ha text fájl használna. Az nem baj, ha cookie-t is használ, csak IP alapján is keressen, meg naponta nullázza. Ennyi kéne nekem, ha tudna valaki ilyesmit.
---------------------------------
Várom a válaszokat és előre is köszi! Üdv:
Mr.Tiny :: MRT Site
Váh megvan. Most jöttem
Mr.Tiny :: MRT Site
is_dir() probléma
Van egy program, ami kilistázza az adott könyvtárban lévő fájlokat, s azoknak a tartalmát fordított sorrendben adja vissza. A readdir() függvény a könyvtárakat is kilistázza, s ennek a kikerülésére próbáltam az is_dir(), is_file() függvényekkel megoldani a helyzetet, de nem működnek. Úgy tekinti mindkét függvény a könyvtárakat, mintha azok fájlok lennének. Itt a kódrészlet:
Mr.Tiny :: MRT Portál Ha online vagyok...
Ilyen nezet
Nekem is ilyen rejtélyes. Ha csak bármi ötletetek lenne a dologgal kapcs. az is segíthet. Már nagyon várom! Üdv:
Mr.Tiny
Én lefuttattam a kódod,
az érdekes