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