Tak jsem si sehnal script na úpravu texťáku a při jeho zpracovávání a zkoušení jsem zjistil, že po každém zapsání do souboru se vněm objeví před úvozovkami tyhle lomítka "\". Nevíte jak se toho zbavit. Ono to totiž pak narůstá geometrickou řadou a ten soubor je zachvíly docela megální:-)
Předem dík
no nejak mi to nefacha. mam takovej dojem, ze stripslashes() funguje jen pres echo a nepozmenuje soubor. Respektive v souboru porat slashe jsou pak se to prozene prez stripslashes a na vystupu uz nejsou. Jenze to ja nechci.
Mrkni se prosim na ten script co stim, budu ti vdecny:
<?php
if ($editovat==1) $soubor = 'book1.log';
if ($editovat==2) $soubor = 'book2.log';
if ($editovat==3) $soubor = 'book3.txt';
$soubor2 = stripslashes($soubor);
if (!File_Exists ($soubor2)) {exit("Nelze nalézt soubor.");}
if ($submit) {
$klika = fopen($soubor2, 'w');
// zamykaní funguje pouze na serverech typu Unix/Linux
$zamek = flock($klika, LOCK_EX);
if ($zamek == false) {exit ('Nelze zamknout soubor. Zkuste znovu.');}
//
if ($klika == false) {exit ("Nelze otevřít textový soubor pro zápis.");}
fputs($klika, $mujText, strlen($mujText));
flock ($klika, LOCK_UN);
fclose($klika);
}
?>
<HEAD>
<META content="text/html; charset=windows-1250" http-equiv="Content-Type">
</HEAD>
<BODY>
<H1>Úprava textového souboru pro
<?php
if ($editovat==1) {echo "(book1.log)";}
if ($editovat==2) {echo "(book2.log)";}
if ($editovat==3) {echo "(book3.txt)";}
?>
- <a href="#dole">dolu</a> <a name="nahore"></a></H1>
<FORM
action="uprava.php?editovat=<?php
if ($editovat==1) {echo "1";}
if ($editovat==2) {echo "2";}
if ($editovat==3) {echo "3";}
?>"
name="form"
method="post">
<TEXTAREA cols=150 rows=200 name="mujText">
<?php
$mujText = file($soubor2);
while (list ($cisloRadku, $radek) = each ($mujText)) {
echo($radek);
}
?>
</TEXTAREA>
<BR><BR><INPUT type="submit" name="submit" value=" Odeslat " onClick="confirm('Opravdu chceš tento soubor změnit?')">
<INPUT type="reset" name="reset" value="Zrušit ">
<a name="dole"></a> <a href="#nahore">nahoru</a></FORM>
</BODY>
hned ze zacatku delas chybu ze davas do stripslashes() jenom nazev souboru a ne obsah .. jako by si chtel odstranit uvozovky pred lomitkama z nazvu souboru .. obsah osetris kdyz do stripslashes das $radek
>> // zamykaní funguje pouze na serverech typu Unix/Linux
$zamek = flock($klika, LOCK_EX);
if ($zamek == false) {exit ('Nelze zamknout soubor. Zkuste znovu.');}
rofl .. jako ze bych to mel zkouset nez server prejde na unix / linux?
me se neptej, ja jsem to nepsal, jen jsem si to stahnul.
jinak diky za radu, uz to facha. Byla to fakt blbost