Autor | Zpráva | ||
---|---|---|---|
JAAkub Profil |
#1 · Zasláno: 23. 1. 2010, 16:36:12
Zdar, chcem sa spytat,
pouzivam funkciu FWrite(), FOpen....... na zapisanie udaju do suboru. Len by som potreboval aby mi text nepripisalo ale uplne zmenilo. To znamena napr. V subore by som mal Ahoj a cez funkciu by mi to text zmenilo na Babka :D Dakujem ::D |
||
Alphard Profil |
#2 · Zasláno: 23. 1. 2010, 16:39:54
Otevřete ten soubor s parametrem "w", teď tam máte "a", ne?
|
||
JAAkub Profil |
#3 · Zasláno: 23. 1. 2010, 16:52:41
Dik mal som tam
"r" a "w" - tam bola chyba :D teraz mam len "w" |
||
JAAkub Profil |
#4 · Zasláno: 23. 1. 2010, 18:05:03
Vsetko funguje ale zacalo mi tu teraz pisat :
Warning: fread(): supplied argument is not a valid stream resource in /home/free/yw.sk/r/rc/root/www/page_edit_uvod.php on line 49 |
||
Alphard Profil |
#5 · Zasláno: 23. 1. 2010, 18:22:43
JAAkub:
W (write) jak název napovídá otevírá soubor pro psaní, takže ho nelze číst. Zkuste "w+". |
||
JAAkub Profil |
#6 · Zasláno: 23. 1. 2010, 18:28:41
Alphard:
Nejde mi to :( moj script : if (File_Exists ("uvod.data")){ $data = FRead ($fp, FileSize("uvod.data")); $fp = FOpen ("uvod.data", "w+"); FWrite ($fp, $write.$data); FClose ($fp); } |
||
Alphard Profil |
#7 · Zasláno: 23. 1. 2010, 18:31:13
Možná kdybyste upravil pořadí, abyste soubor prvně otevřel a až pak ho četl, šlo by to líp :-)
|
||
JAAkub Profil |
#8 · Zasláno: 23. 1. 2010, 18:36:49 · Upravil/a: JAAkub
Alphard:
Dal som : if (File_Exists ("uvod.data")){ $fp = FOpen ("uvod.data", "w+"); $data = FRead ($fp, FileSize("uvod.data")); FWrite ($fp, $write.$data); FClose ($fp); } a pise mi : Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/free/yw.sk/r/rc/root/www/page_edit_uvod.php on line 50. //edit: Myslim ze chyba bude niekde v $data = FRead ($fp, FileSize("uvod.data")); |
||
keeehi Profil |
#9 · Zasláno: 23. 1. 2010, 18:53:33 · Upravil/a: keeehi
JAAkub:
Proč chceš vlastně data číst, když tam už žádná nejsou. Když něco otvíráš funkcí fopen s druhým parametrem w+, tak se původní obsah smaže -> žádná data -> 0 délka vrácená funkcí filesize -> chyba funkce fread. ještě překlad chybové hlášky: „Length parameter must be greater than 0.“ Parametr délky (druhý parametr) musí být větší než 0. |
||
Alphard Profil |
#10 · Zasláno: 23. 1. 2010, 18:56:46
Soubor je asi ihned vymazán. Už si moc nevzpománím na tuto konstrukci, PHP 4 je pryč a nyní (PHP 5) bych napsal
$file = "uvod.data"; file_put_contents($file, $write.file_get_contents($file)); |
||
JAAkub Profil |
#11 · Zasláno: 23. 1. 2010, 18:58:54
keeehi:
Tak FRead mam dat prec ???? |
||
keeehi Profil |
#12 · Zasláno: 23. 1. 2010, 19:01:35 · Upravil/a: keeehi
JAAkub:
No ano. Je tam úplně zbytečný. Když se funkce fread snaží přečíst ten soubor, tak už je dávno prázdný. Pokud by jsi však chtěl Nejdříve z něj data získat, a pak ho přepsat, musel by jsi to udělat jinak. if (File_Exists ("uvod.data")){ $fp = FOpen ("uvod.data", "r+"); $data = FRead ($fp, FileSize("uvod.data")); ftruncate ($fp,0); rewind ($fp); FWrite ($fp, $write.$data); FClose ($fp); } |
||
JAAkub Profil |
#13 · Zasláno: 23. 1. 2010, 19:03:36 · Upravil/a: JAAkub
keeehi:
DIKKK :D IDE TOOOOOO |
||
JAAkub Profil |
#14 · Zasláno: 23. 1. 2010, 19:16:26
keeehi:
To mam pouzit pre otvorenie ?? |
||
keeehi Profil |
#15 · Zasláno: 23. 1. 2010, 20:29:00 · Upravil/a: keeehi
JAAkub:
Podle toho, co potřebuješ udělat. Pokud chceš jenom soubor přepsat a na datech uvnitř už ti nezáleží použiješ toto: if (File_Exists ("uvod.data")){ $fp = FOpen ("uvod.data", "w+"); FWrite ($fp, $write); FClose ($fp); } Když ale chceš ještě před nahrazením souboru dostat jeho obsah do proměnné, použiješ to, co jsem napsal v příspěvku [#12]. Obsah souboru jak vypadal ještě před nahrazením je v proměnné $data. |
||
JAAkub Profil |
#16 · Zasláno: 23. 1. 2010, 20:34:32
keeehi:
A ako by som to mal pouzit pre otvorenie a nacitanie ?? Teraz mam script: <? if (File_Exists ("uvod.data")){ $fp = FOpen ("uvod.data", "r"); FPassThru($fp); } else echo "<p align=\"center\">Ľutujeme, nastala chyba servera</p>"; ?> Moze byt ??? |
||
keeehi Profil |
#17 · Zasláno: 23. 1. 2010, 21:06:35
Třeba tento:
if (File_Exists ("uvod.data")){ $fp = FOpen ("uvod.data", "r"); $data = FRead ($fp, FileSize("uvod.data")); FClose ($fp); } Nebo třeba tento: $data = file_get_contents("uvod.data"); |
||
Časová prodleva: 14 let
|
0