- Poco X6 Pro - ötös alá
- Alkalmazásbemutató: Keep
- Futott egy Geekbench kört egy új HTC készülék
- Azonnali mobilos kérdések órája
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Huawei Mate 10 Pro - mestersége az intelligencia
- Vodafone-ra áttért Digi Mobilosok
- Xiaomi Mi 11 Ultra - Circus Maximus
- iOS alkalmazások
- Yettel topik
Hirdetés
-
Spyra: akkus, nagynyomású, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
-
Saját Redmi Note 13 Pro+ a világbajnok focicsapatnak (és indiai rajongóiknak)
ma Argentína nemzeti válogatottjának mezével díszítik az új Redmi különkiadást.
-
Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
ph A Kereskedelmi Minisztérium egyelőre csak felméri a helyzetet, egyelőre nem látni, hogy tudnak-e bármit is tenni.
Új hozzászólás Aktív témák
-
19.Norbika
csendes tag
válasz PumpkinSeed #14002 üzenetére
Szerintem ezzel zárható is ez a téma
Nightvis | www.nethq.hu - html,php,js,jquery,c#,sql programozás
-
trisztan94
őstag
válasz PumpkinSeed #14169 üzenetére
1: ket egyenloseg jel eleg, ha három van, akkor azonos típusra megy a logikai vizsgálat
pl:
"1" == 1 -> true
"1" === 1 -> false
1 === 1 -> true2: azert kaptal 1-est, mert a boolean true erteke 1. Azt vizsgaltad, hogy egyenloek-e, egyenloek lettek, ezert kaptad vissza az egyet.
szval ha igaz/hamist vizsgalsz akkor 1 = true, 0= false
bővítés:
$elso = 1;
$masodik = 4;
$eredmeny1 = $elso === $masodik;
-> hamis (0)
$eredmeny2 = $elso < $masodik;
-> igaz (1)
$eredmeny3 = $elso > $masodik;
-> hamis (0)
$eredmeny4 = $elso <= $masodik;
-> igaz (1)[ Szerkesztve ]
https://heureka-kreativ.hu
-
válasz PumpkinSeed #14169 üzenetére
Mi van a változókban?
-
DNReNTi
őstag
válasz PumpkinSeed #14169 üzenetére
Hű
Van egy kis káosz.
Először is, mivel valamilyen feltétel teljesülését vizsgálod feltételre van szükség.Lássuk:
$eredmeny1 = NULL;
if ($elso == $masodik) {
echo $eredmeny1 . '<br>';
}Így megnézed hogy a két változód egyenlő e egymással, ha igen akkor kiíratod és egy sortörést is teszel mögé, ha nem teljesül a feltétel, tehát nem egyenlőek, akkor nem történik semmi. Másrészt szerintem ilyen feltételeknél nem célszerű a '===' használata mert például ha ez a helyzet:
$elso = 6;
$masodik = '6';Akkor ez egyenlőtlenség lesz, mivel a $masodik egy string típusú változó, hiába 6 az is, de szöveg nem szám. Ezt megelőzendő perfekt a sima == kifejezés.
A többi feltétel ennek mintájára megy, csak a relációk változnak. Ha szeretnél kiíratni valamit akkor is ha a feltétel nem teljesül:
$eredmeny1 = NULL;
if ($elso == $masodik) {
echo $eredmeny1 . '<br>';
} else {
echo 'A feltétel nem teljesült.<br>';
}Remélem segítettem.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz PumpkinSeed #14173 üzenetére
Közben észrevettem hogy gyökérséget írtam... Kevés volt a napi kv. Az "echo $eredmeny1 . '<br>';" így ebben a formában csak egy sortörést írna ki... Sorry a rossz példáért.
but without you, my life is incomplete, my days are absolutely gray
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14175 üzenetére
A kiíratásnál a FALSE érték castolódik empty stringre.
Két lehetőséged van: castolod kiíratás előtt integerre, vagy var_exportot használsz a boolean-érték kiíratására, igénytől függően.Példa a te kódodhoz igazodva:
print (int)$er1;
ekkor 0-t fog kiírni.
VAGY:
print var_export($er1, TRUE);
ekkor 'false'-t fog kiírni (mint string).
Sk8erPeter
-
Dave-11
tag
válasz PumpkinSeed #14214 üzenetére
Nem azért mert a continue átugorja a ciklus többi részét és úgy kezdi elölről? Tehát megvan hogy a szám osztható kettővel, belép az if-be, de ott ott a continue, az átugorja az összes többi sort a ciklusmagon belül és kezdődik elölről az egész.
[ Szerkesztve ]
:D Semmi :D
-
cucka
addikt
válasz PumpkinSeed #14214 üzenetére
Ha a continue lefut, akkor nem fogja megnövelni a $asd-t, tehát végtelen ciklusba kerül.
Írd át for ciklusra és jó lesz. -
DS39
nagyúr
válasz PumpkinSeed #14222 üzenetére
többesszám
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14224 üzenetére
Ilyen durva önkritikát nem tudom, olvastam-e már, jót röhögtem, de azért ennyire ne légy szigorú önmagadhoz
[ Szerkesztve ]
Sk8erPeter
-
PumpkinSeed
addikt
válasz PumpkinSeed #14227 üzenetére
Lekéstem a szerkesztésről.
Találtam én is párat, de nekem valami olyasmi kellene ahol megmondják mit csináljak és azt nekem kell megcsinálni, mert a legtöbb olyan volt, hogy egészítsd ki meg ilyen baromságok.
Viszont van egy kis probléma is amit nem tudok, még nem tartok ott a könyvben amiből tanulok, de kicsit előre haladtam mert akartam csinálni egy ilyet:
HTML:
<body>
<form action="szamol.php" method="GET">
Adja meg a számot:
<input type="text" name="szam12"/></br>
Adja meg a hatványt:
<input type="text" name="hatvany12"/></br>
<input type="submit" value="Küldés" /></br>
</form>
</body>PHP:
<body>
<?php
print $szam12;
$szam = $szam12;
$hatvany = $hatvany12;
$szamok = $szamok12;
for($ciklus = 1;$ciklus < $hatvany+1; $ciklus++)
{
$szamok=$szam*$szamok;
}
print $szamok;
?>
</body>A hiba pedig annyi, hogy mikor a submit-el tovább lépek üres oldalt add be.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
válasz PumpkinSeed #14228 üzenetére
Ezt a könyvet dobd ki a picsába.
-
MODERÁTOR
válasz PumpkinSeed #14228 üzenetére
Először is postázz:
<form action="szamol.php" method="POST">
Másodszor (szamol.php):
Ezt szúrd be a legelejére:
<?php
$szam12 = $_POST['szam12'];
$hatvany12 = $_POST['hatvany12'];?>
Harmadszor: dobd ki a könyvet az ablakon
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
cucka
addikt
válasz PumpkinSeed #14230 üzenetére
Ha jót akarsz, akkor tényleg kidobod ezt a könyvet, pl. tisztán látszik, hogy register_globals használatára tanít, ami annyira rossz elképzelés volt, hogy az újabb verziókban már a bekapcsolása is fatal error-t ad.
(Amúgy mi az, PHP4 24 óra alatt? Abban voltak ilyen kódok) -
DNReNTi
őstag
válasz PumpkinSeed #14233 üzenetére
Én nem könyvből tanultam, hanem az interneten. Ha megy az angol, akkor szinte minden kérdésedre választ kapsz a StackOverflow-on, a php.net-en. Én ezt ajánlom.
but without you, my life is incomplete, my days are absolutely gray
-
fordfairlane
veterán
válasz PumpkinSeed #14236 üzenetére
Rég nem foglalkoztam már kezdőknek való könyvekkel, de ha kezdő lennék, talán egy ilyet kipróbálnék. [link] Nem drága, és elég friss, 2011-es kiadású, így nagy valószínűséggel nem elavultak a példakódok.
x gon' give it to ya
-
wis
tag
válasz PumpkinSeed #14228 üzenetére
Ezt szúrd be a kódod elejére és akkor kiírja a hibákat (persze majd élesben szedd ki):
error_reporting(E_ALL);
ini_set('display_errors', 1);(#14242) PumpkinSeed
Ez a könyv 2005-ös... -
fordfairlane
veterán
válasz PumpkinSeed #14241 üzenetére
Szinte mindent tudsz belőle, és nem tudsz megoldani egy kétmezős form adatainak feldolgozását? Hát akkor tényleg borzasztóan rossz könyv lehet.
x gon' give it to ya
-
fordfairlane
veterán
válasz PumpkinSeed #14246 üzenetére
Értem, ezt nem tudtam, így már világos. Sajnos nem ismerem a friss könyvválasztékot, de az fontos, hogy ne elavult legyen, mivel sokminden változik a PHP fronton is néhány év alatt. Ezért javasolják többen, hogy lehetőleg friss kiadásút válassz. Ugyanakkor az is fontos, hogy didaktikailag jó legyen a könyv, és sajnos ez sem általános jellemzője, főleg nem a szegényes hazai kínálatnak.
x gon' give it to ya
-
cucka
addikt
válasz PumpkinSeed #14248 üzenetére
Oreilly PHP The good parts elég jónak tűnt. Meg van egy Expert PHP And MYSQL a Wroxtól, szintén nem rossz, meg ha jól rémlik, valami nagyon hasonló cucc az Apress-től is. PHP Fekete könyv szintén nem volt rossz, de nem tudom, van-e belőle friss kiadás.
Magyar nyelven a jó könyvek töredéke jelenik meg, szóval ez nagyon rontja az esélyeidet. Amire még érdemes odafigyelni, hogy friss php verzióval foglalkozzon a könyv. 5.x verziókban elég sok újítás volt, amikkel érdemes tisztában lenni, szóval 2010-2011 előtti könyvre én nem pazarolnám az időmet. A "24 óra alatt" könyveket felejtsd el.
[ Szerkesztve ]
-
alfa20
senior tag
válasz PumpkinSeed #14250 üzenetére
Mit szóltok ehhez az oldalhoz?
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
alfa20
senior tag
válasz PumpkinSeed #14252 üzenetére
Esetleg hátha még EZ is érdekel, én itt szoktam próbálkozni, ezt bárhonnan elérem szerkesztés céljából, egyszerű, de azért használható. FTP-re is lehet csatlakozni, de ATW-re sajnos nem sikerült még, azt szerintem nem szereti.
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14241 üzenetére
Az hogyan lehetséges, hogy egy PHP+MySQL-es könyvet HÁROMSZOR elolvastál, állítólag mindent tudsz belőle, és ilyenek gondot okoznak, például az, hogy rájöjj, hogy itt valami "pusztító alpáriság" történik?
Javaslom, inkább könyvolvasás helyett vagy MELLETT GYAKOROLJ rengeteget, önmagában az, hogy olvasgatsz, nem fog rávezetni a probléma-megoldásra. Saját tapasztalatok, saját hibázások kellenek, hogy tanulj is belőle. Persze mindezt a kísérletezést localhoston tedd.
Sk8erPeter
-
Soak
veterán
válasz PumpkinSeed #14398 üzenetére
De ezt kellene latnod mivel az elsoket nem konkatenalod. Miben fejlesztesz, hogy nem tunik fel a mas szin?
-
Soak
veterán
válasz PumpkinSeed #14400 üzenetére
String összefűzés. Miért nem használsz valami rendes IDE-t ? Pl Netbeans vagy Eclipse. Be van kapcsolva a syntax highlight? Amúgy szánékosan van ugyanaz a változó minden 2. tagban?
-
fordfairlane
veterán
válasz PumpkinSeed #14398 üzenetére
Pont a lényeget nem írtad le, hogy mi van a változóban. Egyébként mind a négy sorban az $abroncs változó szerepel. isset 1-et, azaz true-t ad vissza, tehát létező változó, empy meg gondolom false-t ad vissza.
[ Szerkesztve ]
x gon' give it to ya
-
trisztan94
őstag
-
trisztan94
őstag
válasz PumpkinSeed #14406 üzenetére
mert a 0 az semmi. a boolean true értéke 1, a false értéke semmi. Most lehet, hogy hülyeséget mondok, de ha jól tudom a false értéke az igazi "NULL", ami viszont nincs PHP-ban, ezért nem ír semmit.
https://heureka-kreativ.hu
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14398 üzenetére
Még mindig nincs olyan, hogy </br>, csak olyan van, hogy <br /> vagy <br>... (Pedig szerintem ez már lett neked említve korábban.)
"mi az a konkatenalás?"
Most komolyan, ne csináld már... próbáltad már azt, hogy visszakérdezések helyett előbb beírod Google-be az ilyen szavakat?
De most segítek: összefűzés...A kódbeli részére:
echo 'empty($abroncs): '.empty($abroncs).'</br>';
HELYETT:
echo 'empty($abroncs): '.var_export( empty($abroncs), TRUE ) .'<br />';
PHP 5.5.0 felett pedig használhatod ezt is:
http://www.php.net/manual/en/function.boolval.phpVagy castolod int típusúvá:
echo 'empty($abroncs): '.(int)empty($abroncs).'<br />';Annak a sorodnak meg semmi értelme, hogy
echo 'isset($fos): '.isset($abroncs).'</br>';
mivel a stringbe a fantáziadús $fos nevű változót akarod tenni, de a KONKATENÁLÁS során pedig az $abroncs változót használod...Szerk.:
jé, úgy látszik, egy órák óta betöltött változatot láttam, mert azóta kaptál válaszokat.(#14404) PumpkinSeed :
"0-át"
Akarod mondani 0-t. Próbáld kimondani azt, hogy "0-át", az jön ki belőle, hogy "nullá-át". Így szoktad kimondani? Vagy pedig úgy, hogy "nullát"?http://debuggable.com/posts/false-0-or-not:480f4dd6-b2f8-49ac-97fd-493acbdd56cb
http://stackoverflow.com/questions/137487/null-vs-false-vs-0-in-php
[ Szerkesztve ]
Sk8erPeter
-
whYz
addikt
válasz PumpkinSeed #14559 üzenetére
Ez se nagyon php kerdes amugy, de ha jol tudom \n-hez <pre> tag kell. Amugy hasznalj <br />-t vagy <div>-et vagy akarmi mast.
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14561 üzenetére
Nálad betegség ez a </br>? Itt is (meg más topicban is már) ugyanezt használtad, akkor is írtam, hogy csak <br /> vagy <br/> vagy <br> van. Egyébként csak egyszer gondold már végig, hogy itt milyen "megnyitott" taget akarnál lezárni, ami miatt az elejére teszed a perjelet? Semmilyet, mivel ez self-closing tag, ergo egyből a végére kell (HTML5-nél nem kell, de lehet) tenni a perjelet, szóval egyből lezárni az elemet.
Az érdemi problémára: azt sem írtad, hogy milyen platformon tesztelsz (először azt sem írtad, hogy nem böngészőbe írt kimenetről van szó, hanem txt-fájlról), de feltételezem, Windows-on, és azt sem írtad, azonbelül milyen szövegszerkesztőben nézed meg az eredményt, feltételezem, olyanban, ami a UNIX-os sorvégződéseket (\n, LF) nem "támogatja" (pl. sima Notepad, míg Notepad++ támogatja), csak a Windows-osat, ami CRLF, vagyis \r\n, vagy PHP_EOL Windows-on (a PHP_EOL Unixon az említett \n-t adja), magyarul a megoldás lehet, hogy \n helyett \r\n-et írsz, vagy például használsz egy normális szövegszerkesztőt, és abban nézed meg...
[ Szerkesztve ]
Sk8erPeter
-
CSorBA
őstag
válasz PumpkinSeed #14563 üzenetére
Nem tudtam, hogy ennyire analfabéta a Windowsos jegyzettömb.
A hangsúly nem az analfabétaságon, hanem a windowsoson van. Máshogy van kódolva, más a sortörés. Notepad++ ezt tudja érzékelni, de attól még neked rossz a sortörésed windows alatt.
Ajánlom: [link] -
DeltaPower
őstag
válasz PumpkinSeed #14573 üzenetére
beolvasás után trim-eled?
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
DeltaPower
őstag
válasz PumpkinSeed #14575 üzenetére
alapértelmezésben kiveszi, vagy beírod így, ha csak a newline-t akarod kiszedni (spacet, tabot nem):
trim($str, "\n\r");
ha pedig csak a sor végéről, akkor rtrim-et használsz"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Tele von Zsinór
őstag
válasz PumpkinSeed #14595 üzenetére
Mi az, hogy "jegyzettömb"?
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14595 üzenetére
Még jó, hogy ilyen sok részletet megosztottál a megoldásodról...
Sk8erPeter
-
válasz PumpkinSeed #14599 üzenetére
Karaktert olvasos, és nem sort/karakterláncot. Karaktert nem lehet indexelni. Ha kell a fájl egész tartalma:
<?php
echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/../gem.txt');Ez string-ként beolvassa az egészet, azt pedig már lehet indexelni.
-
válasz PumpkinSeed #14601 üzenetére
Akor ne indexeld a beolvasott karaktert?!
-
biker
nagyúr
válasz PumpkinSeed #14601 üzenetére
de csak én érzem hülyeségnek???
milyen szöveg? betűk és számok? akkor lesz 45-90 elemű tömböd, aminél a tömb indexe a betű, és kell egy leíró tömb, melyikből hány darab van benne.
ennek értelme is lenne, bár kevés, de több, mint te akarszmert nem lehet egy többen $t['a']-ból kettő, igaz?
$t['a'] = 123db
$t['b'] = 432db
stb
egyáltalán mit akarsz? jó a megközelítésed?Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
sztanozs
veterán
válasz PumpkinSeed #14601 üzenetére
Vagy miért nem a beolvasás során vizsgálod meg a karaktert? úgy nem kellene eltárolnod egy bazinagy tömbben...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14599 üzenetére
A kódod több szempontból is rossz:
$fp = fopen('$DOCUMENT_ROOT/../gem.txt','ab');
Mivel sima aposztrófot használsz, a $DOCUMENT_ROOT nem fog behelyettesítődni, tehát vagy konkatenáld, vagy használd az idézőjelet (de inkább előbbi a kód jobb olvashatósága érdekében).
Aztán: 'ab' módban nyitod meg a fájlt, ebből az 'a': "Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.", 'b' a binary mode. Az 'a' itt esetedben nem igazán indokolt, mivel egyszerű olvasást hajtasz végre. A binary mode biztos kell neked?Ezenkívül ezt csinálod:
$i = 0;
while (!feof($fp)) {
$szoveg[$i] = fgetc($fp);
$i++;
echo $szoveg[$i];
}itt az $i változót megnöveled, és AZUTÁN íratod ki a $szoveg tömb i-vel indexelt tartalmát. Magyarul az echo-nak nyilván még az $i++ előtt kéne szerepelnie.
Meg ellenőrizni kéne, hogy a megnyitás sikeres volt-e (elég egyszerű: a while-t és fclose-t egyszerűen berakod egy if($fp) blokkba), sikertelen megnyitás utáni fclose warningot okoz. Igaz, sikertelen fopen is azt okoz, ezért azt speciel érdemes lehet elnyomni @ karakterrel, VAGY még a megnyitási kísérlet előtt vizsgálni, hogy létezik-e egyáltalán a fájl (file_exists()).
Ez egyébként csak gyakorlás? Mi a konkrét célod?
==================================================
(#14600) Athlon64+ :
"Karaktert nem lehet indexelni."
+ (#14602) Athlon64+ :
"Akor ne indexeld a beolvasott karaktert?! "
Mi az, hogy karaktert nem lehet indexelni? A kódja teljesen jól működne, ha jól használná. Sehol nem is indexeli a karaktereket, egyszerűen a karaktereket egy külön tömbbe rakja, aminek az indexét az $i adja.[ Szerkesztve ]
Sk8erPeter
-
DeltaPower
őstag
válasz PumpkinSeed #14606 üzenetére
Ha csak bizonyos karaktereket kell kiszedned, akkor miért olvasod be az egészet? Stream módszerrel is meg lehetne oldani: fgetc, karakter vizsgálata, ha megfelel a feltételeknek akkor egyből fwrite egy másik fájlba, ha nem akkor jöhet a következő karakter beolvasása.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
DNReNTi
őstag
válasz PumpkinSeed #14608 üzenetére
Nem csináltam még hasonlót szóval csak elméletben:
Mi lenne ha a fájlból mindig csak 10 karaktert olvasnál be és azt vizsgálnád? Ha az megvan akkor jönne a következő karaktert követő 10-es sorozat. Beolvasáskor vizsgálni kellene h van e egyáltalán még 10 karakter, ha nincs akkor ennyi. Így végülis mindig egy 10 elemű tömbbel dolgoznál, és egy változóban csak azt kellene tárolni hányadik karakternél jársz a fájlban.Sőt akár azt is lehet hogy csak első alkalommal olvasol be 10 karaktert, aztán csak egy index-el lentebb "sorolod" a meglévő elemeket, és az utolsó helyre egy új karaktert szúrsz be.
Remélem sikerült érthetően vázolni az elméletemet
but without you, my life is incomplete, my days are absolutely gray
-
DeltaPower
őstag
válasz PumpkinSeed #14608 üzenetére
Nem tudom pontosan hogy és milyen szempontok szerint válogatsz, de egy közepesen bonyolult programozási mintafeladatra emlékeztet, szerintem ez egy 21 elemű fifo tároló.
Tegnap találkoztam egy hasonlóan bonyolultnak tűnő, de valójában egyszerű problémával: véletlen számú és sorrendű, 2x2, 1x2 vagy 1x1 méretű cellákból szabályos, 4 oszlopos html táblázatot összerakni. Először valami rekurzív rendezési megoldásban gondolkodtam, aztán rájöttem hogy 1 db for ciklussal megoldható
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14606 üzenetére
Igen, azért lépi túl a memóriakorlátot, mert rossz módban nyitod meg a fájlt, de ezt már írtam korábban:
"Aztán: 'ab' módban nyitod meg a fájlt, ebből az 'a': "Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.", 'b' a binary mode. Az 'a' itt esetedben nem igazán indokolt, mivel egyszerű olvasást hajtasz végre. A binary mode biztos kell neked?"
tehát
$fp = fopen('$DOCUMENT_ROOT/../gem.txt','ab');
HELYETT például próbáld meg így:
$fp = fopen($DOCUMENT_ROOT.'/../gem.txt','r');
binary mód attól függően kell, hogy van eltárolva...Pont azért idéztem neked a dokumentációt, mert az 'a'-val a fájlpointert a fájl végére teszi. Neked pont nem ez kell...
(#14608) PumpkinSeed :
"a karaktereket az alapján kell kiszedni, hogy mi van a környezetében. Például van egy karakter akkor ha előtte egy bizonyos karakter van akkor az off, ha pedig mögötte kettővel egy másik van akkor megint off. Ez most le van egyszerűsítve de minimum 10 index távolságba mindkét irányba vizsgálni kellene a környezetét."
Ezt a legegyszerűbb egy állapotgépes modellel megvalósítani, egy Móricka-rajzon leírhatnád papírra, mik az állapotok, aztán összekötögetve készülne egy egyszerű állapotdiagram. Vagy készíthetsz állapottáblát is. (Utóbbinak előnye, hogy ott ordít, ha valamilyen állapotnál kimaradt a kitöltés, míg az állapotdiagramnál a nyilacskázást valahol könnyen el lehet felejteni véletlenül.)
Nem tudom, csináltál-e már ilyet. Más nyelvekben szokás enum típust szokás használni erre a célra, jelezve az állapotokat, PHP-ben kerülő megoldás vagy SplEnum van. Az állapotgépes modell egyébként elég egyszerű, switch-case-es szerkezettel megvalósítható.Kérdés, hány állapotod lehet. Mit keresel, egy szót? Számokat? Mi a feladat? Azért is kérdezem, mert lehet, hogy egyszerűbben is megvalósítható, mint ahogy próbálkozol.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14612 üzenetére
"Egyszerre 2 karaktert vizsgálok, és ha két azonos karakter van egymás mellett akkor az számít egy gyémántnak, viszont ha a két karakter előtt van egy l (L) betű akkor az nem gyémánt, viszont ha I (i) van akkor pedig bankba kell helyezni és csak a felét éri. Ha a két karakter mögött szám áll akkor az a szám értékének megfelelő gyémántot jelenti."
Erre Athlon64+ múltkor jól sikerült hozzászólását tudnám idézni:
http://prohardver.hu/tema/php_kerdesek_2/hsz_14593-14593.html
"Úúú, valami nagy tákolás van készülőben! "
Viccet félretéve nem értem, mi indokolja egy online játék esetén ilyen borzalom választását? Már eleve a fájlbaírás kényszerét nem értem (adatbázis, felhasználók tábla, gyémántjaik és egyéb pontjaik kigyűjtésére szolgáló táblák?), de ha már fájl, akkor is lehetne ennél ezerszer értelmesebb megoldásokat alkalmazni.
Vagy épp az eddigi tákolmány megoldásból szeretnél kinyerni értelmes adatot, hogy átalakítsd valami értelmesre? Remélem, utóbbi.
Amúgy ezek sima feltételvizsgálgatások, az eddigi tömbös kódrészleted folytatásával is megoldható."Ilyen dolgokról még nem is halottam, de akkor ezek alapján érdemesebb pointerekkel végezni ezt a munkát ahelyett, hogy beindexelem az egészet."
Hogy mi van? Milyen pointerekről beszélsz? Én állapotgépről beszéltem neked, ami leegyszerűsítheti a tervezésedet (meghatározod az állapotokat, elvárt bemenetektől függővé teszed őket, tervezel, hogy ne legyen belőle tákolás). Nem került szóba semmilyen pointer, főleg, hogy PHP esetén a klasszikus értelemben vett (pl. C, C++) pointerekről nincs is értelme beszélni, mivel ilyen nincs, legfeljebb referenciáról.
Valami nagy-nagy félreértés van itt.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #14614 üzenetére
Az előbb amúgy azt nem írtam, hogy az eddigi tömbös megoldás folytatható, DE felesleges az összes eddig érkezett karaktert eltárolni, gondolj bele, mi van, ha óriásfájllal van dolgod, akkor ott csücsül a memóriában az a sok immár feleslegessé vált adat. Szóval egyszerűen felülcsaphatod a tömböt az új adatokkal, amikor nem szükséges már tárolni az adott karaktereket.
De engem továbbra is érdekelne, miért ezt a fájlos megoldást választjátok
Sk8erPeter
-
DeltaPower
őstag
válasz PumpkinSeed #14648 üzenetére
usort ha pozitív számot kap visszatérésnek akkor az első nagyobb mint a második, ha negatívot akkor a második nagyobb mint az első, ha nullát akkor egyenlőek
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
PumpkinSeed
addikt
válasz PumpkinSeed #14651 üzenetére
$input = $_POST['input_'.$i];
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
trisztan94
őstag
válasz PumpkinSeed #14652 üzenetére
Szebb úgy, ha a string összefűzést egy külön változóban csinálod, majd azt adod meg, mint index
for($i=0;$i<7;$i++)
{
$index = "input_".$i;
$input = $_POST[$index];
echo $input;
}Később sokkal átláthatóbb lesz.
https://heureka-kreativ.hu
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Honda topik
- No Voice in the Galaxy
- gban: Ingyen kellene, de tegnapra
- KERÉKPÁR / BRINGA / ALKATRÉSZ beárazás
- Call of Duty: Modern Warfare III (2023)
- VR topik (Oculus Rift, stb.)
- Poco X6 Pro - ötös alá
- Kerékpárosok, bringások ide!
- Szevam: Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- További aktív témák...