| |
|
|
| | почему когда я ставлю ключь r+ то все работает нормально , а когда просто w то оно просто стирает файл , и ничего туда не записывает ??? надо что-бы оно не оставляло кусков текста из прежнего файла , поверх которого записывается новый !!! как это сделать , если это возможно конечно !!!
<?php
$i= $_SESSION["i"] ;
$per=$_POST['forma'];
//-----------------------------------------------------------------------
$file = fopen ($i.'.txt',"r+");
if ( !$file )
{
echo("--------------------------");
}
else
{
fwrite ( $file, $per);
}
fclose ($file);
?>
|
или же подскажите как создать пустой текстовый файл и записать туда текст !!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(24.02.2007 в 02:05)
| | | В мануале написано, что параметр "r+" открывает файл для чтения/записи и помещяет указатель в начало файла. А параметр "w" открывает файл только для записи и урезает его до нулевой длины - то есть уничтожает всё, что там было до открытия.
То есть открывайте файл с параметром w и пишите в него данные:
<?php
$i = $_SESSION['i'] ;
$per = $_POST['forma'];
$file = fopen($i.".txt", "w");
if ( !$file ) {
echo("Ошибка открытия файла!");
} else {
fwrite($file, $per);
}
fclose($file);
| В итоге в файле, после выполнения скрипта, будет только то, что было в переменной $per и ничего больше. | |
| |
|
|
| |
|
|
| |
для: Саня
(24.02.2007 в 02:41)
| | | нет , не получается , в том-то и дело что он только стирает файл , и ничего не записывает , я уже 3 - й день мучаюсь !!!! уже весь форум топиками исписал !!!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(24.02.2007 в 02:55)
| | | и так тоже ничего не выходит , я подумал что если он может записать в файл с ключом r+ так может сначала стереть файл , что-бы хвостов не было . не тут-то было , стирать стирает , а нифига не записывает !!!!
<?php
$i= $_SESSION["i"] ;
$per=$_POST['forma'];
$file = fopen ($i.'.txt',"w");
fclose ($file);
//-----------------------------------------------------------------------
$file = fopen ($i.'.txt',"r+");
if ( !$file )
{
echo("--------------------------");
}
else
{
fwrite ( $file, $per);
}
fclose ($file);
?>
|
| |
| |
|
|
| |
|
|
| |
для: dima2207
(24.02.2007 в 03:01)
| | | Может данные из формы не так передаются ? | |
| |
|
|
| |
|
|
| |
для: Sl
(24.02.2007 в 04:21)
| | | А как ? в виде строки . я проверял !!!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(24.02.2007 в 04:28)
| | | понятно.
Выложи полный исходный код, если он конечно не большой =) | |
| |
|
|
| |
|
|
| |
для: Sl
(24.02.2007 в 04:32)
| | | а вот форма из которой передаются данные :
<?
$i=$_GET[p];
$_SESSION["i"] = $i;
$perem = file ($i.".txt");
$str = implode(" ",$perem);
echo "<form method=POST action='submit.php'><td><textarea class=\"F3\" name='forma' rows=\"20\" cols=\"65\">$str</textarea>";
echo"<input class=\"F1\" type=\"submit\" value=\"Подтвердить\"></form>";
?>
|
это что-то со строкой , потому-что когда я на прямую пишу $per="--------------------"; то все нормально , правда когда я использую ключь r+ тогда тоже все нормально , правда тогда остается хвост от того файла на который накладывается !!!!!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(24.02.2007 в 04:47)
| | | Отлаживай скрипт по - маленьку
Сначал убери все эти Сессии. Просто создай файл с уже определенным именем и пиши туда данные, и.т.д Все подозрительные тебе моменты в скрипте сразу убирай и тестируй. Я таким образом часто поступаю и практически всегда потом узнаю в чем были ошибки | |
| |
|
|