Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редактирование файла .
 
 автор: dima2207   (24.02.2007 в 02:05)   письмо автору
 
 

почему когда я ставлю ключь r+ то все работает нормально , а когда просто w то оно просто стирает файл , и ничего туда не записывает ??? надо что-бы оно не оставляло кусков текста из прежнего файла , поверх которого записывается новый !!! как это сделать , если это возможно конечно !!!

<?php
 $i
$_SESSION["i"] ;
$per=$_POST['forma'];
 
//-----------------------------------------------------------------------
  
$file fopen ($i.'.txt',"r+");
  if ( !
$file )
  {
    echo(
"--------------------------");
  }
  else
  {
   
fwrite $file$per);
  }
         
fclose ($file);

?>


или же подскажите как создать пустой текстовый файл и записать туда текст !!!

   
 
 автор: Саня   (24.02.2007 в 02:41)   письмо автору
 
   для: 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 и ничего больше.

   
 
 автор: dima2207   (24.02.2007 в 02:55)   письмо автору
 
   для: Саня   (24.02.2007 в 02:41)
 

нет , не получается , в том-то и дело что он только стирает файл , и ничего не записывает , я уже 3 - й день мучаюсь !!!! уже весь форум топиками исписал !!!!

   
 
 автор: dima2207   (24.02.2007 в 03:01)   письмо автору
 
   для: 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);

?>

   
 
 автор: Sl   (24.02.2007 в 04:21)   письмо автору
 
   для: dima2207   (24.02.2007 в 03:01)
 

Может данные из формы не так передаются ?

   
 
 автор: dima2207   (24.02.2007 в 04:28)   письмо автору
 
   для: Sl   (24.02.2007 в 04:21)
 

А как ? в виде строки . я проверял !!!!

   
 
 автор: Sl   (24.02.2007 в 04:32)   письмо автору
 
   для: dima2207   (24.02.2007 в 04:28)
 

понятно.
Выложи полный исходный код, если он конечно не большой =)

   
 
 автор: dima2207   (24.02.2007 в 04:47)   письмо автору
 
   для: 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+ тогда тоже все нормально , правда тогда остается хвост от того файла на который накладывается !!!!!!

   
 
 автор: Sl   (24.02.2007 в 07:05)   письмо автору
 
   для: dima2207   (24.02.2007 в 04:47)
 

Отлаживай скрипт по - маленьку
Сначал убери все эти Сессии. Просто создай файл с уже определенным именем и пиши туда данные, и.т.д Все подозрительные тебе моменты в скрипте сразу убирай и тестируй. Я таким образом часто поступаю и практически всегда потом узнаю в чем были ошибки

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования