ugrás a tartalomhoz

Weblap megjelenítés számlálás (TXT-ben)

NosnOsnoS · 2011. Aug. 18. (Cs), 13.22
Halló!

Hogyan lehet azt megoldani,hogyha valaki megnyitja az oldalt akkor 1 php kód +1-et ad az 1.txt-hez?
Nem kell megjelennie mert azt úgy szeretném szabályozni,hogy ifarmébe helyezem.
 
1

Hozzávalók: file_exists,

bugadani · 2011. Aug. 18. (Cs), 13.57
Hozzávalók: file_exists, file_get_contents, file_put_contents, ++ operátor, meg az 1-es szám. Az iframet meg felejtsd el.
Hogy ne csak a vakvilágba beszéljek, a logikai menet a következő:
Megnézzük, létezik-e az 1.txt
Ha létezik: kiolvasod a tartalmát, számmá alakítod, majd hozzáadsz egyet és visszaírod a fájlba.
Ha nem létezik: létrehozod (file_put_contents úgy emlékszem, a nem létező fájlt létrehozza automatikusan, ha van rá joga), a tartalma 1.
Kiírása meg csak file_get_contents() és az echo kreatív kombinálása.
7

Nekem..

NosnOsnoS · 2011. Aug. 18. (Cs), 21.57
Nekem nem kell az ellenőrző,létrehozó!
Nekem csak az kell,hogy betudjam állítani, hogy mennyivel növelje az 1.txt
csak azt nem tom , hogy ezt milyen kóddal csináljam!( )
Előre is köszi!
8

Leírtam mindent, amire

bugadani · 2011. Aug. 18. (Cs), 22.03
Leírtam mindent, amire szükséged van, kódot szándékosan nem mellékeltem, pedig sokkal rövidebb lett volna, mint kifejteni a megoldás menetét. Szándékosan csináltam így, azért, hogy tanulj egy kicsit. Ha erre nem vagy hajlandó, akkor hagyd szépen abba a weboldalkészítést, és menj legózni (nem vicc, még attól is lehet fejlődni!). Ne várd el tőlünk, hogy mindent megcsináljunk helyetted, azzal hosszú távon te sem jársz jól, mert nem lesz belőle tapasztalatod.
9

Kész a kód...

NosnOsnoS · 2011. Aug. 19. (P), 09.29
A kódot kipróbáltam az 1ik ideiglenes oldalamon(http://megajatek.fw.hu)
A php kód
és a feldolgozás:
Mivel ez csak úgy csinálja,hogy én beírom az elején, hogy =0 és a php ezt fűzi hozzá ha megnyitja +1.
Ezt az Excelben (ctrl+a,ctrl+c,ctrl+v)kb 2 másodperc alatt kiszámolom!!
10

Kreatív, az biztos :) a php

bugadani · 2011. Aug. 19. (P), 10.35
Kreatív, az biztos :) a php kódot így nem fogjuk látni, mert a szerver nem küldi ki szövegesen, hanem értelmezi és futtatja azt. Ha kódot szeretnél linkelni, másold fel mondjuk ide: http://pastebin.com/
11

inkább

NosnOsnoS · 2011. Aug. 20. (Szo), 10.43
Inkább ide:
<?php
$file = 'valahova.txt';
$szamol = "+1";
file_put_contents($file, $szamol, FILE_APPEND | LOCK_EX);
?>
12

Mivel itt nincs olvasás,

kuka · 2011. Aug. 22. (H), 10.54
Mivel itt nincs olvasás, ezzel szépen kivéded a korábban említett zárolás szükségességét. De ha már hozzáadásos írást csinálsz használhatnál logikusabb „mértékegységet”. Ugyanis ha mindig csak 1 karakternyit toldasz hozzá az állományhoz, akkor a tárolt számláló értékét tulajdonképpen az állomány mérete fogja adni, amelyet a filesize() függvény ad vissza. Mivel soha sem fogod kiolvasnia a tartalmát az egész iciripicirit gyorsabb lesz. (Ha az állományrendszered is úgy akarja.)

Ezt csak úgy eszmefuttatásnak. A javaslom az volna, hogy használj adatbázist.
13

ááá!

NosnOsnoS · 2011. Aug. 24. (Sze), 13.50
Be fogom olvastatni(lásd Alább)
Mivel ez 1 kicsit bonyolult így heti 1szer átírom nagy számmá(0+1+1+1+1+1+1+1+1+1 helyett 10
14

Ez jó volt, elmehetnél

Hidvégi Gábor · 2011. Aug. 24. (Sze), 14.37
Ez jó volt, elmehetnél komikusnak, hehe : )
15

Miért?

Schmidi · 2011. Aug. 24. (Sze), 14.45
Nem egészen értem, miért jó az, hogy stringként hozzáfűzöd minden alkalommal, hogy "+1"?

Ha már ez sikerült, akkor miért nem adsz hozzá a tartalmához egyet, és írod vissza azt?

Tehát nem:
0
0+1
0+1+1
0+1+1+1

hanem:
0
1
2
3

a file tartalma?
16

1....

NosnOsnoS · 2011. Aug. 24. (Sze), 15.18
1részt ezt megtudtam csinálni de amit te mondasz azt már nem.
17

Az 1-es számú hozzászólásban

bugadani · 2011. Aug. 24. (Sze), 15.50
Az 1-es számú hozzászólásban ott van minden, csak olvasd el. Melyik része nem világos, melyiket nem érted, melyiket nem tudod megcsinálni? 3-5 sornyi kódot kell tudnod megírni, pontosabban magyarról PHP-ra lefordítani. Erre pedig - már megbocsáss - egy betanított majom is képes.
2

Inkább DB

Schmidi · 2011. Aug. 18. (Cs), 20.44
Megoldható txt fileban, de nem javaslom.

Már viszonylag kis forgalomnál is rá lehet szaladni arra, hogy párhuzamos lapletöltések esetén kinullázódik a számlálód. (Épp nyitva van, és ezáltal lockolva a file, amikor a második process ráolvas, ezért elindítja nulláról, és mivel a második fejezi be később az írást, ezért az 1-et ír bele, felülcsapva a valós értéket.)

Régen többször belefutottam ebbe, bár most visszagondolva, lehet hogy az még a Perlben kísérletezgetős korszakomban volt.

Mindenesetre biztosan elegánsabb és jobb megoldás egy adatbázis mező értékét növelgetni.
3

Ne ugorjunk egyből a

bugadani · 2011. Aug. 18. (Cs), 20.57
Ne ugorjunk egyből a mélyvízbe, meg kell tanulnia rendesen feltenni a kérdéseit, az ugyanis fontos lesz neki a későbbiekben. Én is javasolgathattam volna mindenfélét, de nem tettem, mert nem kérte. Egyébként amennyi ideig nyitva van írásra azalatt a röpke file_put_contents alatt... elég valószerűtlennek tartom.
4

Lehet

Schmidi · 2011. Aug. 18. (Cs), 21.03
Lehet, hogy valószínűtlen, de előfordul. Tapasztalat.
Káromkodtam nagyokat, amikor nálam megtörtént, és nullázódott a számlálóm.

A Te válaszodból megtudja, hogy hogy kell fileokat kezelni, az enyémből meg azt, hogy más szempontokat is érdemes figyelembe venni, mielőtt nekiáll megvalósítani valamit.

Nincs ezzel semmi baj szerintem.
5

lock

Poetro · 2011. Aug. 18. (Cs), 21.19
Fájlokra is lehet lockot helyezni, és akkor nem fogja megnyitni a fájlt és felülírni a korábbi értéket, csak azután, ha a másik befejezte. Lásd flock. A felhasználói megjegyzések között találsz pár megoldást a fenti problémára.
6

Re: lock

Schmidi · 2011. Aug. 18. (Cs), 21.32
Ez hasznos kiegészítés ahhoz amit írtam, köszönöm a pontosítást.

Annak idején még nem találkoztam ezzel, azóta pedig nem volt szükségem ilyen megoldásra.
18

Durva. egyrészt ez a nosnos

szabo.b.gabor · 2011. Aug. 31. (Sze), 13.00
Durva. egyrészt ez a nosnos csávó/bot, másrészt tényleg igaz, amit írtok? én azt hittem (alapnak gondoltam), hogy ha valamit megnyitok írásra, akkor azt már semmi más sem nyithatja meg sehogy sem. oprendszerek read/write lock.
20

Az ugyancsak megnehezítené a

kuka · 2011. Aug. 31. (Sze), 13.39
Az ugyancsak megnehezítené a logrotate életét. A „sehogy sem” kitétel pedig a logwatch-ét is, az pedig már biztonsági kockázat volna. Vagy mit értettél „oprendszerek” alatt?
19

NosnOsnoS

Karvaly84 · 2011. Aug. 31. (Sze), 13.39
Üdv!

Azt szeretném tőled kérdezni, hogy te direkt nem veszed a fáradtságot, hogy ki tanulj pár alap dolgot, mert azt gondolod, hogy minden alap szitura majd valaki ír egy megoldást?

Te benned nem szokott az az érzés előjönni, amit úgy hívnak "tudás szomj"?

Én úgy gondolom az nem lehet életképes a programozásban aki egy "Hello World" után már arra gondol nem kel többet tanulnia. Ha 20 évig tanulsz egy programozási nyelvet, akkor sem fogsz róla mindent tudni, soha nem fogsz tudni róla mindent mert folyamatosan változik amit neked követned kel.

Ha pl. PHP-t vesszük már a 5.2 és 5.3 között és nagy különbségek vannak, de legalább ha egy büdös szakadt összefirkált ótvaros 10 éves antikvár php-s könyvet beszereznél 200 Ft körüli összegért hatalmasat fejlődnél. Nekem ez a meglátásom.
21

Karway

aky22 · 2011. Aug. 31. (Sze), 14.56
Egyetértek veled.