Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: skaiciu sumos irasymas i .txt faila

Parašė desire· 2009 Bal. 6 17:04:39
#1

reikia script'o kuris:
1.irasytu i .txt faila skaiciu suma pvz.: faile 1.txt yra skaicius 3 , tai , kad prie jo pridetu 1 ir tame 1.txt pakeistu buvusi skaiciu 3 i tu skaiciu suma t.y. 4 arba buna kokiam 2.txt skaicius 12 , tai , kad pridetu 1 ir pakeistu ta 12 i 13

2.dar prie to reikia jog pvz kai failo (1.txt ir kt.) nebuna ftp serve , tai , kad ji automatiskai sukurtu: $userdata['user_id'].txt (su nario id , pvz.: 1.txt ir pan.)
ir vykdytu ta 1. funkcija

uz pagalba +10 (:

Parašė ozzWANTED· 2009 Bal. 6 17:04:01
#2

http://lt2.php.net/fwrite

http://lt2.php.net/fopen - čia dalyje mode gali nustatyti kaip failą atidarai, skaitymui/rašymui/papildymui.

http://lt2.php.net/fclose

Tavo pavyzdys:
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, 'Pirmas');
fwrite($fp, ' Antras');
fclose($fp);

// the content of 'data.txt' is now "Pirmas Antras" and not " Antras"!
?>



Redagavo ozzWANTED· 2009 Bal. 6 17:04:35

Parašė desire· 2009 Bal. 6 19:04:05
#3

funkcijas fwrite,fopen,fclose zinau as ir moku jas , bet man atrodo jog nelabai supratai ko man reikia :) nes to ko man reikia tavo pateiktame pavyzdyje nera.. nes man reik tokias funkcijas panaudot kaip if (file_exists($file)) ir jei nera , kad ji sukurtu automatiskai ir kt.

turi kazkas mazdaug taip vykt:
1. patikrina ar toks failas yra ( $userdata['user_id'].txt )
2. jei yra nuskaito jame esancia info (skaiciu)
3. prideda prie to skaiciaus 1 ir iraso i ta faila (pvz buna 5 prideda 1 ir iraso 6)
4. jei tokio failo nera , ji sukuria su nario_id.txt ( $userdata['user_id'].txt ) , suteikia irasymo teises t.y. @chmod ($file, 0777);
5. ir i ji iraso skaiciu 1 , o kita karta kai failas jau egzistuoja kartojasi 1,2,3 (cia priklauso ar narys jau dare kazka , kad sia funkcija atliktu ar ne)

Redagavo desire· 2009 Bal. 6 19:04:50

Parašė bad_user· 2009 Bal. 6 19:04:47
#4

Chmodini folderi kurime laikysi, jei toks failas yra readini ir prie nuskaitydu duomenų pridedi 1 jei nėra sukuri. O jei folderis 777 sukurs tą failą auto užtenka padaryti fwrite. ;]

Parašė desire· 2009 Bal. 7 11:04:59
#5

blt maniau, kad jau viskas veikia , bet paziurejau jog vietoj to , kad pridetu 1 prie skaiciaus kuris jau yra .txt faile tai tiesiog istrina ta buvusi skaiciu ir iraso 1 (pvz irasiau paprastai 5 faile 1.txt ir script'as ne pridejo 1 , o 5 pakeite i 1)

bandziau kelis variantus , bet vistiek tas pats:

if (file_exists("/home/xxx/xxx/folder/".$userdata['user_id'].".txt")) {
$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "w+");
$sk = fread($fp);
$irasyt = $sk+1;
fwrite ($fp, $irasyt);
fclose($fp);
} else {
$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "w");
$irasyt = 1;
fwrite ($fp, $irasyt);
fclose($fp);
}




$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "w+");
$sk = fread($fp);
$irasyt = $sk+1;
fwrite ($fp, $irasyt);
fclose ($fp);



Redagavo desire· 2009 Bal. 7 12:04:51

Parašė desire· 2009 Bal. 7 12:04:17
#6

up..

Parašė bad_user· 2009 Bal. 7 12:04:43
#7

if (file_exists("/home/xxx/xxx/folder/".$userdata['user_id'].".txt")) {
$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "w");
$sk = fread($fp);
$irasyt = $sk+1;
fwrite ($fp, $irasyt);
fclose($fp);
} else {
$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "w");
$irasyt = 1;
fwrite ($fp, $irasyt);
fclose($fp);
}





Kaip dabar, nes papildomai taigi įrašinėt nereikia, o tik pakeisti. Blemba senai su tais žaidžiau, kadangi senai nieko neberašau į TXT, o tik į mysql. ;]

Redagavo bad_user· 2009 Bal. 7 13:04:20

Parašė desire· 2009 Bal. 7 12:04:51
#8

vis tiek tas pats :)

Parašė bad_user· 2009 Bal. 7 13:04:42
#9

Bandei atvaizduoti $sk? Ką rodo?

Parašė desire· 2009 Bal. 7 14:04:05
#10

nieko nerodo :)
sukuria 1.txt ir iraso 1 (pagal user_id)
tada dar karta paleidziu script ir turetu 1 dar pridet ir irasyt 2 i 1.txt , bet nieko nepakeicia , faile tas pats 1

dabar pakeiciau script i :

if (file_exists(".../folder/".$userdata['user_id'].".txt")) {
$fp = fopen(".../folder/".$userdata['user_id'].".txt", "w");
$sk = fread($fp);
$irasyt = $sk++;
fwrite ($fp, $irasyt);
fclose($fp);
} else {
$fp = fopen(".../folder/".$userdata['user_id'].".txt", "w");
$irasyt = 1;
fwrite ($fp, $irasyt);
fclose($fp);
}




tai atvaizduoja 1 , bet vistiek neiraso skaiciu sumos

Redagavo desire· 2009 Bal. 7 14:04:56

Parašė bad_user· 2009 Bal. 7 14:04:57
#11

$irasyt = $sk++;

Taip nenori pabandyti?

Parašė desire· 2009 Bal. 7 14:04:15
#12

jau isbandziau pries tau parasant :)

Parašė bad_user· 2009 Bal. 7 14:04:01
#13

$fp = fopen(".../folder/".$userdata['user_id'].".txt", "r+");

Pastebėjau, kad tu padarei tik įrašyti, o ne ir skaityti.

Redagavo bad_user· 2009 Bal. 7 14:04:03

Parašė desire· 2009 Bal. 7 14:04:35
#14

tai padariau taip kaip tu rasei pirmai :) , bet vistiek neveikia :/

Parašė bad_user· 2009 Bal. 7 14:04:28
#15

Keistai čia. Man viskas veikia.

Parašė desire· 2009 Bal. 7 14:04:00
#16

numesk script cia jei gali , gal kazka sumaisiau as ?|

Parašė bad_user· 2009 Bal. 7 14:04:50
#17

if (file_exists("/home/xxx/xxx/folder/".$userdata['user_id'].".txt")) {
$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "r+");
$sk = fread($fp);
$irasyt = $sk+1;
fwrite ($fp, $irasyt);
fclose($fp);
} else {
$fp = fopen("/home/xxx/xxx/folder/".$userdata['user_id'].".txt", "w");
$irasyt = 1;
fwrite ($fp, $irasyt);
fclose($fp);
}



Parašė desire· 2009 Bal. 7 14:04:55
#18

nu as ir sita bandau , bet neveikia ?| wtf..

Parašė bad_user· 2009 Bal. 7 14:04:49
#19

Nu grįžęs dar žvilgtelsiu, dar pabandyk suchmodint .txt automatiškai ;]

Parašė desire· 2009 Bal. 7 14:04:47
#20

ok :)

if (file_exists(".../folder/".$userdata['user_id'].".txt")) {
$fp = fopen(".../folder/".$userdata['user_id'].".txt", "r+");
$sk = fread($fp);
$irasyt = $sk+1;
fwrite ($fp, $irasyt);
fclose($fp);
$teises = ".../folder/".$userdata['user_id'].".txt";
chmod($teises,0777);
} else {
$fp = fopen(".../folder/".$userdata['user_id'].".txt", "w");
$irasyt = 1;
fwrite ($fp, $irasyt);
fclose($fp);
$teises = ".../folder/".$userdata['user_id'].".txt";
chmod($teises,0777);
}




bet vistiek nieko :o ?|

Redagavo desire· 2009 Bal. 7 16:04:28