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

Форум PHP

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

 

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

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

тема: Способы сохранения текста из textarea
 
 автор: YU351   (18.09.2009 в 23:49)   письмо автору
 
 

Есть скрипт, который сохраняет текст из textarea в файлы, форматы которых выбираются выпадающим списком. Нумерация файлов начинается со значения, которое записано в файле "index".

Нужно сделать так, чтобы была возможность выбора (например, выпадающим списком) сохранять в новый файл(w+) или дописывать в последний созданный(a+). Есть какие идеи? Подскажите, пожалуйста.

<?php
$source 
$_POST['source'];//имя textarea, из которого берется текст
$triad $_POST['triad'];//расширение, с которым будет сохранен файл (в выпадающем списке)
$fh fopen("./SMI/index",'r');//в этом файле находится число, с которого начинается нумерация
$i fgets($fh);
fclose($fh);
$fh fopen("./SMI/index",'w');
$i++;
fputs($fh$i);
fclose($fh);
$file $i.".".$triad;
$Saved_file fopen("./SMI/".$file'w+');//директория для записи
fwrite($Saved_file$source);
fclose($Saved_file);
header("Location: index.php");
?>

  Ответить  
 
 автор: Valick   (18.09.2009 в 23:56)   письмо автору
 
   для: YU351   (18.09.2009 в 23:49)
 

Есть какие идеи?
Идея одна - вы играете с огнём сидя на пороховой бочке, хотябы по причине того что не используете блокировки файлов. Да и w+ крайне опасный "перец".
Хотя если с этим сриптом работает только один пользователь, то "можно" и так.
Опишите подробнее, что за файлы такие и почему их нельзя тупо загрузить на сервер?

  Ответить  
 
 автор: YU351   (19.09.2009 в 00:18)   письмо автору
 
   для: Valick   (18.09.2009 в 23:56)
 

Это клиент-серверное приложение, суть которого в том, что пользователи заполняя определенные поля на странице, в итоге генерируют текстовое сообщение в textarea на этой странице. После этого, созданное сообщение необходимо сохранить на сервер (из texarea в файл). Так вот необходимо, чтобы сохраняя сообщение, они могли не только создавать каждый раз новый документ (что реализовано выше приведенным скриптом), но и сохранять (дописывать) сообщения в файл, который был создан до этого (т.е. последним).

  Ответить  
 
 автор: Valick   (19.09.2009 в 00:53)   письмо автору
 
   для: YU351   (19.09.2009 в 00:18)
 

а к чему вот это:
$triad = $_POST['triad'];//расширение, с которым будет сохранен файл (в выпадающем списке)

?
кстати, таким же "Макаром" можно выбирать w+ или a+

дописывать можно только в последний файл?
В любом случае при таком подходе (без блокировок) у вас случаться два "одновременных" юзера, и плакали ваши денюжки данные.
Вообще тут база данных прямо-таки и просится с которой работать в 100 раз легче и удобнее, чем с файлами.

  Ответить  
 
 автор: YU351   (19.09.2009 в 01:05)   письмо автору
 
   для: Valick   (19.09.2009 в 00:53)
 

>Вообще тут база данных прямо-таки и просится с которой работать в 100 раз легче и удобнее, чем с файлами.

Полностью согласен. Но руки связаны на файлах, ибо такоя задача и не шагнуть от нее ни вправо, ни влево.

>а к чему вот это:
>
$triad = $_POST['triad'];//расширение, с которым будет сохранен файл (в выпадающем списке)

>?

Так вот я выбираю с каким расширением сохранить тот или иной файл (txt, doc, xml, smi).

Как же поставить блокировки? Буду признателен, если покажите.

  Ответить  
 
 автор: Valick   (19.09.2009 в 01:41)   письмо автору
 
   для: YU351   (19.09.2009 в 01:05)
 

дык былоб всё просто то уже бы написал, тут подумать надо :)
в нумерации из файла есть какой-то определённый смысл? Просто расскажите зачем это, чтобы мне легче завтра было думать над расстановкой блокировок.
и прикрепите код формы
____
мучают меня вопросы почему дописывать можно только в последний файл(!), кому можно дописывать, когда можно дописывать, если уж выбираете расширение (кстати никак не проверенное на стороне сервера), то почему такие странные имена (как я понял это числа из файла) и т.д.

  Ответить  
 
 автор: YU351   (19.09.2009 в 07:33)   письмо автору
 
   для: Valick   (19.09.2009 в 01:41)
 

Смысл нумерации в том, что она должна быть по порядку (01.txt, 02.txt, ...).

<form name="FormPopUp"  action="save.php" method="post">
<table width="98%" border="0" cellspacing="0" cellpading="0">
<tr>
<td colspan="4" align="left">

<table border="0" cellspacing="0" cellpading="0">
<tr>
<td align="center" width="220">


</td>
<td  width="364">&nbsp;</td>
<td align="left" width="575">
<input type="submit" value="Сохранить сообщение СМИ" onMouseOver="style.color='blue'" onMouseOut="style.color='black'"  style="cursor:pointer;"/>
<select name="triad">
<option>txt</option>
<option>xml</option>
<option>smi</option>
<option>doc</option>
</select>

</td>
</tr>
</table>

</td>
</tr>

<tr>
<td colspan="2" align="right">



</td>
<td colspan="2" align="left">

<!--********************* ВЫХОДНОЙ TEXTAREA *****************************-->
<textarea name="source" rows="15" cols="70%" style="background-color: #14BAD8"></textarea>
<!--********************* ВЫХОДНОЙ TEXTAREA *****************************-->

</td>
</tr>
</table>
</form> 

  Ответить  
 
 автор: Valick   (19.09.2009 в 09:06)   письмо автору
 
   для: YU351   (19.09.2009 в 07:33)
 

Смысл нумерации в том, что она должна быть по порядку (01.txt, 02.txt, ...)
01.txt, 02.txt, 03.xml, 04.doc?

  Ответить  
 
 автор: Valick   (19.09.2009 в 15:20)   письмо автору
 
   для: YU351   (19.09.2009 в 07:33)
 

вот что у меня получилось, скорее всего где-нить в логике ошибся(нужно тестировать), но пока работает
файл form.html

<form name="FormPopUp"  action="save.php" method="post">
<table width="98%" border="0" cellspacing="0" cellpading="0">
<tr>
<td colspan="4" align="left">

<table border="0" cellspacing="0" cellpading="0">
<tr>
<td align="center" width="220">


</td>
<td  width="364">&nbsp;</td>
<td align="left" width="575">
<input type="submit" name="save" value="Сохранить сообщение СМИ"
onMouseOver="style.color='blue'" onMouseOut="style.color='black'"  style="cursor:pointer;"/>

<select name="triad">
<option value="0">txt</option>
<option value="1">xml</option>
<option value="2">smi</option>
<option value="3">doc</option>
</select>
<br />
<input type="submit" name="add" value="Добавить к последнему файлу"
onMouseOver="style.color='blue'" onMouseOut="style.color='black'"  style="cursor:pointer;"/>
</td>
</tr>
</table>

</td>
</tr>

<tr>
<td colspan="2" align="right">



</td>
<td colspan="2" align="left">

<!--********************* ВЫХОДНОЙ TEXTAREA *****************************-->
<textarea name="source" rows="15" cols="70%" style="background-color: #14BAD8"></textarea>
<!--********************* ВЫХОДНОЙ TEXTAREA *****************************-->

</td>
</tr>
</table>
</form>

файл обработчик save.php

<?php
// Принимаем и обрабатываем сообщение из TEXTAREA
if(isset($_POST[source])&& !empty($_POST[source])){
    
$source trim($_POST[source]);
        
// Удаляем ненужные переводы строк
    
$source preg_replace("/[\r\n]{2,}/i""\n"$source);
    
// Ограничение количества вводимых символов
    
$source substr($source,0,1024);

if(isset(
$_POST[add])){
// Нажата кнопка добавления записи к последнему сохранённому файлу
    // Считываем имя последнего сохранённого файла из last.txt
    
if(file_exists('last.txt')){
    
// Открываем файл для чтения и записи в режиме r+t 
    // некоторые версии FreeBSD имеют проблемы с режимом а+ 
    // и не могут установить указатель на начало файла при помощи fseek 
        
$f1=fopen('last.txt''r+t') or die("Невозможно открыть файл"); 
    
// Блокируем файл (блокировка с запретом "подвисания") 
        
while(!flock($f1LOCK_EX+LOCK_NB)) 
            { 
            
sleep(1);    // ждём одну секунду 
            

    
// Файл заблокирован, можно производить чтение и запись
    // считываем имя последнего сохранённого файла
    
$file=explode("\n",fread($f1,filesize('last.txt')));
    if(
file_exists($file[0])){
        
$f2=fopen($file[0], 'r+t') or die("Невозможно открыть файл");
        
// Блокируем файл (блокировка с запретом "подвисания") 
            
while(!flock($f2LOCK_EX+LOCK_NB)) 
                { 
                
sleep(1);    // ждём одну секунду 
                

          
$position filesize($file[0]);
          
fseek($f2$position-1);
        
fwrite ($f2,$source."\n") ;
        
fclose($f1);
        
fclose($f2);
    }
    }else{
        echo 
"Отсутствует файл содержащий информацию о последнем сохранённом файле.";
    }
}
if(isset(
$_POST[save])){
// Нажата кнопка добавления записи в новый файл
    
switch ($_POST[triad]) {
    case 
0$triad='txt'; break;
    case 
1$triad='xml'; break;
    case 
2$triad='smi'; break;
    case 
3$triad='doc'; break;
    default: 
$triad='txt';
    }
    
// Считываем счётчик нумерации из count.txt
    
if(file_exists('count.txt')){
        
$f1=fopen('count.txt''r+t') or die("Невозможно открыть файл"); 
    
// Блокируем файл (блокировка с запретом "подвисания") 
        
while(!flock($f1LOCK_EX+LOCK_NB)) 
            { 
            
sleep(1);    // ждём одну секунду 
            

    
// Файл заблокирован, можно производить чтение и запись
    // считываем счётчик
    
$n=explode("\n",fread($f1,filesize('last.txt')));
    
$new=$n[0]+1;
     
$file=($new).".$triad";
         
ftruncate($f10); // очищаем файл
         
fseek($f10SEEK_SET); // переходим в начало файла
        
fwrite ($f1$new) ; // записываем строку из массива    
    
if(!file_exists($file)){
        
fclose(fopen($file"a+t"));
        
$f2=fopen($file'r+t') or die("Невозможно открыть файл");
        
fputs ($f2,$source."\n") ;
        
fclose($f2);
        
fclose($f1);
    if(
file_exists('last.txt')){
    
$f3=fopen('last.txt''r+t') or die("Невозможно открыть файл"); 
    
// Блокируем файл (блокировка с запретом "подвисания") 
        
while(!flock($f3LOCK_EX+LOCK_NB)) 
            { 
            
sleep(1);    // ждём одну секунду 
            
}
         
ftruncate($f30); // очищаем файл
         
fseek($f30SEEK_SET); // переходим в начало файла
        
fwrite ($f3$file) ; // записываем строку из массива
        
fclose($f3);
    }else{
        echo 
"Отсутствует файл содержащий информацию о последнем сохранённом файле.";
    }    
    }else{
        echo 
"Фйл с таким именем уже существует";
    exit;
    }
    }else{
        echo 
"Отсутствует файл счётчика.";
    }    
}
}else{
echo 
"Отсутствует текстовое сообщение";
}
?>

  Ответить  
 
 автор: Gemorroj   (26.09.2009 в 12:08)   письмо автору
 
   для: Valick   (19.09.2009 в 15:20)
 

.

  Ответить  
 
 автор: Valick   (19.09.2009 в 19:53)   письмо автору
 
   для: YU351   (19.09.2009 в 07:33)
 

кстати на счёт кода формы...

<form name="FormPopUp"  action="save.php" method="post">
<table border="0" cellspacing="0" cellpading="0">
<tr><td>
<table border="0" cellspacing="0" cellpading="0">
<tr>
<td>

<!--********************* ВЫХОДНОЙ TEXTAREA *****************************-->
<textarea name="source" rows="15" cols="70%" style="background-color: #14BAD8"></textarea>
<!--********************* ВЫХОДНОЙ TEXTAREA *****************************-->

</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpading="0">
<tr>
<td align="left">
<input type="submit" name="save" value="Сохранить сообщение СМИ" 
    onMouseOver="style.color='blue'" onMouseOut="style.color='black'"  style="cursor:pointer;"/>
<select name="triad">
<option value="0">txt</option>
<option value="1">xml</option>
<option value="2">smi</option>
<option value="3">doc</option>
</select>
</td>
<td align="right">
<input type="submit" name="add" value="Добавить к последнему файлу" 
    onMouseOver="style.color='blue'" onMouseOut="style.color='black'"  style="cursor:pointer;"/>
</td>
</tr>
</table>
</td></tr>
</form>

? :)

  Ответить  
 
 автор: YU351   (20.09.2009 в 15:20)   письмо автору
 
   для: Valick   (19.09.2009 в 19:53)
 

Valick, спасибо большое за помощь!!!! :)

  Ответить  
 
 автор: Valick   (20.09.2009 в 17:20)   письмо автору
 
   для: YU351   (20.09.2009 в 15:20)
 

ну честно говоря не за что.
добавляться информация будет в последний сохранённый файл это точно, но вот который это будет файл точно вам никто не скажет, так как пока вы набираете текст кто-то другой может сохранить свой файл и он уже будет считаться последним :)

  Ответить  
 
 автор: YU351   (25.09.2009 в 23:44)   письмо автору
 
   для: Valick   (20.09.2009 в 17:20)
 

Появилась проблема с кодировкой. Мне кажется, это из-за php. Скрипт сохраняет в файл кавычки вот таким образом:

<?xml version=\"1.0\" encoding=\"windows-1251\"?>


Хотя, в textarea до сохранения эта строчка выглядит иначе:

<?xml version="1.0" encoding="windows-1251"?>


Кодировка на странице:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />


Есть у кого идеи, в чем дело?

  Ответить  
 
 автор: Gemorroj   (26.09.2009 в 12:10)   письмо автору
 
   для: YU351   (25.09.2009 в 23:44)
 

вероятно, пресловутые magic_quotes_gpc

  Ответить  
 
 автор: Trianon   (26.09.2009 в 12:35)   письмо автору
 
   для: Gemorroj   (26.09.2009 в 12:10)
 

>вероятно, пресловутые magic_quotes_gpc
Ага.. Не имеющие при этом никакого отношения к кодировке. Ну просто никакого.

  Ответить  
 
 автор: cheops   (26.09.2009 в 13:13)   письмо автору
 
   для: Trianon   (26.09.2009 в 12:35)
 

Gemorroj имел в виду экранирование кавычек в строке meta после textarea.

  Ответить  
 
 автор: Trianon   (26.09.2009 в 13:25)   письмо автору
 
   для: cheops   (26.09.2009 в 13:13)
 

>Gemorroj имел в виду экранирование кавычек в строке meta после textarea.

Так и есть, наверняка. Я, собственно, с ним и не спорю.
Собственно, не только в строке meta

  Ответить  
 
 автор: cheops   (26.09.2009 в 13:17)   письмо автору
 
   для: YU351   (25.09.2009 в 23:44)
 

Наверняка дело в этом, пропустите содержимое файла перед сохранением через конструкцию вида
<?php
      
if (get_magic_quotes_gpc())
      {
        
$text stripslashes($text);
      }
?>

  Ответить  
 
 автор: YU351   (28.09.2009 в 23:15)   письмо автору
 
   для: cheops   (26.09.2009 в 13:17)
 

Да, это выход. Сработало.
Вот только не могу поменять директорию для сохранения. Файлы last и count лежат в папке SMI. Везде в коде, вроде бы, добавил ./SMI, но все равно, файлы сохраняются в директорию где находится сам файл php. Мож кто разобрался?
<?php
// Принимаем и обрабатываем сообщение из TEXTAREA
if(isset($_POST[source])&& !empty($_POST[source])){
    
$source trim(stripslashes($_POST[source]));
        
// Удаляем ненужные переводы строк
    
$source preg_replace("/[\r\n]{2,}/i""\n"$source);
    
// Ограничение количества вводимых символов
    
$source substr($source,0,3024);

    if(
get_magic_quotes_gpc()) {
}

if(isset(
$_POST[add])){
// Нажата кнопка добавления записи к последнему сохранённому файлу
    // Считываем имя последнего сохранённого файла из last.txt
    
if(file_exists('./SMI/last')){
    
// Открываем файл для чтения и записи в режиме r+t
    // некоторые версии FreeBSD имеют проблемы с режимом а+
    // и не могут установить указатель на начало файла при помощи fseek
        
$f1=fopen('./SMI/last''r+t') or die("Невозможно открыть файл");
    
// Блокируем файл (блокировка с запретом "подвисания")
        
while(!flock($f1LOCK_EX+LOCK_NB))
            {
            
sleep(1);    // ждём одну секунду
            
}
    
// Файл заблокирован, можно производить чтение и запись
    // считываем имя последнего сохранённого файла
    
$file=explode("\n",fread($f1,filesize('./SMI/last')));
    if(
file_exists($file[0])){
        
$f2=fopen($file[0], 'r+t') or die("Невозможно открыть файл");
        
// Блокируем файл (блокировка с запретом "подвисания")
            
while(!flock($f2LOCK_EX+LOCK_NB))
                {
                
sleep(1);    // ждём одну секунду
                
}
          
$position filesize($file[0]);
          
fseek($f2$position-1);
        
fwrite ($f2,$source."\r\n") ;
        
fclose($f1);
        
fclose($f2);
        
header("Location: index.php");
    }
    }else{
        echo 
"<center><table border=0 bgcolor=#5B6A90><tr><td><font color=#ffffff style=\"font-family:Arial, Helvetica, sans-serif; font-size:13px;\"><b>Отсутствует файл содержащий информацию о последнем сохранённом файле!!!</b></font>
</td>
</tr>
<tr>
<td align=center>
<input type=button name=back value=Назад onclick=\"history.back();\" onMouseOver=\"style.color='blue'\" onMouseOut=\"style.color='black'\" style=\"cursor:pointer;\">
</td>
</tr>
</table></center>"
;
    }
}
if(isset(
$_POST[save])){
// Нажата кнопка добавления записи в новый файл
    
switch ($_POST[triad]) {
    case 
0$triad='txt'; break;
    case 
1$triad='xml'; break;
    case 
2$triad='smi'; break;
    case 
3$triad='doc'; break;
    default: 
$triad='txt';
    }
    
// Считываем счётчик нумерации из count.txt
    
if(file_exists('./SMI/count')){
        
$f1=fopen('./SMI/count''r+t') or die("Невозможно открыть файл");
    
// Блокируем файл (блокировка с запретом "подвисания")
        
while(!flock($f1LOCK_EX+LOCK_NB))
            {
            
sleep(1);    // ждём одну секунду
            
}
    
// Файл заблокирован, можно производить чтение и запись
    // считываем счётчик
    
$n=explode("\r\n",fread($f1,filesize('./SMI/last')));
    
$new=$n[0]+1;
     
$file=($new).".$triad";
         
ftruncate($f10); // очищаем файл
         
fseek($f10SEEK_SET); // переходим в начало файла
        
fwrite ($f1$new) ; // записываем строку из массива
    
if(!file_exists($file)){
        
fclose(fopen($file"a+t"));
        
$f2=fopen($file'r+t') or die("Невозможно открыть файл");
        
fputs ($f2,$source."\r\n") ;
        
fclose($f2);
        
fclose($f1);
        
header("Location: index.php");
    if(
file_exists('./SMI/last')){
    
$f3=fopen('./SMI/last''r+t') or die("Невозможно открыть файл");
    
// Блокируем файл (блокировка с запретом "подвисания")
        
while(!flock($f3LOCK_EX+LOCK_NB))
            {
            
sleep(1);    // ждём одну секунду
            
}
         
ftruncate($f30); // очищаем файл
         
fseek($f30SEEK_SET); // переходим в начало файла
        
fwrite ($f3$file) ; // записываем строку из массива
        
fclose($f3);
    }else{
        echo 
"<center><table border=0 bgcolor=#5B6A90><tr><td><font color=#ffffff style=\"font-family:Arial, Helvetica, sans-serif; font-size:13px;\"><b>Отсутствует файл содержащий информацию о последнем сохранённом файле!!!</b></font>
</td>
</tr>
<tr>
<td align=center>
<input type=button name=back value=Назад onclick=\"history.back();\" onMouseOver=\"style.color='blue'\" onMouseOut=\"style.color='black'\" style=\"cursor:pointer;\">
</td>
</tr>
</table></center>"
;
    }
    }else{
        echo 
"<center><table border=0 bgcolor=#5B6A90><tr><td><font color=#ffffff style=\"font-family:Arial, Helvetica, sans-serif; font-size:13px;\"><b>Фйл с таким именем уже существует!!!</b></font>
</td>
</tr>
<tr>
<td align=center>
<input type=button name=back value=Назад onclick=\"history.back();\" onMouseOver=\"style.color='blue'\" onMouseOut=\"style.color='black'\" style=\"cursor:pointer;\">
</td>
</tr>
</table></center>"
;
    exit;
    }
    }else{
        echo 
"<center><table border=0 bgcolor=#5B6A90><tr><td><font color=#ffffff style=\"font-family:Arial, Helvetica, sans-serif; font-size:13px;\"><b>Отсутствует файл счётчика!!!</b></font>
</td>
</tr>
<tr>
<td align=center>
<input type=button name=back value=Назад onclick=\"history.back();\" onMouseOver=\"style.color='blue'\" onMouseOut=\"style.color='black'\" style=\"cursor:pointer;\">
</td>
</tr>
</table></center>"
;
    }
}
}else{
echo 
"<center><table border=0 bgcolor=#5B6A90><tr><td><font color=#ffffff style=\"font-family:Arial, Helvetica, sans-serif; font-size:13px;\"><b>Отсутствует текстовое сообщение!!!</b></font>
</td>
</tr>
<tr>
<td align=center>
<input type=button name=back value=Назад onclick=\"history.back();\" onMouseOver=\"style.color='blue'\" onMouseOut=\"style.color='black'\" style=\"cursor:pointer;\">
</td>
</tr>
</table></center>"
;
}
?>

  Ответить  
 
 автор: Calisto09   (19.05.2012 в 12:30)   письмо автору
 
   для: YU351   (28.09.2009 в 23:15)
 

у меня похожая ситуация тока по проще, у меня не получается совместить код со своим, поможете? есть форма в конце 2 кнопки,"сохранить" и "далее", в кнопке cохранить использую triad,имя файла в котором будут сохранены данные, а "далее" открывает другую страницу и данные страницы нужно сохранить в файл созданный на 1ой странице.Файл которую я создала на 1 стр.сохраняются только в формате doc.
<h3 >7. На основании изложенного, документация является   <textarea Name="sootv"  ROWS=3 COLS=100> </textarea> <br><input type="submit" name="add" value="Добавить и завершить"> 
ммм...php код не получается

  Ответить  
 
 автор: confirm   (19.05.2012 в 14:09)   письмо автору
 
   для: Calisto09   (19.05.2012 в 12:30)
 

Глубоко вспахано.)

>а "далее" открывает другую страницу и данные страницы нужно сохранить в файл созданный на 1ой странице

Страница, это страница у клиента, о сохранении чего идет речь?

  Ответить  
 
 автор: Calisto09   (19.05.2012 в 16:59)   письмо автору
 
   для: confirm   (19.05.2012 в 14:09)
 

это продолжение 1-ой страницы, и поверьте мне в моем случае так и должно быть, речь о тексте в textarea. На 2-ой стр.также заполняемые поля, и они должны дописаться в конец

  Ответить  
 
 автор: confirm   (19.05.2012 в 17:37)   письмо автору
 
   для: Calisto09   (19.05.2012 в 16:59)
 

Если бы речь шла о записи именно страницы, то ее, еще раз повторяю, именно страницу, можно сохранить только единственным способом - вставить в форму ее содержимое, как document.body.innerHTML. Это и будет страница - полный ее html-код.
Если речь идет все-таки о содержимом переданным формой, которое к самой странице никакого отношения не имеет, то так и говорите.
Если вам надо добавить в конец существующего файла новые данные, то это делается функциями fopen(), fwrite() о чем в данной теме говорилось. В чем проблема тогда?
Не понятно только, если на некой странице вы открываете файл, что-то в него записываете, то зачем нужен переход на другую страницу, чтобы дописать в него еще что-то?

  Ответить  
 
 автор: Calisto09   (20.05.2012 в 17:57)   письмо автору
 
   для: confirm   (19.05.2012 в 17:37)
 

"Если вам надо добавить в конец существующего файла новые данные, то это делается функциями fopen(), fwrite() о чем в данной теме говорилось. В чем проблема тогда?", у меня не получается совместить этот код со своим, вот фрагментик кода:
first.htm, здесь в конце есть форма где я пишу названия файла и кнопкой "сохранить" сохраняю данные,
 <html>
<FORM name="gl" method="post" action= "first.php"  > 
3. Для экспертизы были представлены следующие документы:
<textarea Name="docs"  ROWS=2 COLS=20> </textarea> </h3><br>
<p align=left>  <br> <textarea name="triad"  ROWS=2 COLS=5> </textarea><br>
         <TABLE ALIGN=center BORDER CELLpadding="3"> 
 <tr> 
   <td style="background-color:#cc0000; color:#ffffff">
        <p><input type="submit" value="SAVE" width="0"></table>
        
    </form>

<TABLE ALIGN=center BORDER CELLPADDING="10">
    
<tr bgcolor=LightBlue> 
   <td><A HREF="primer.htm" TARGET="_blank"><b><p style="color: black; font-size: 0.5cm; text-align:center">&nbsp;&nbsp; Далее&nbsp;&nbsp;&nbsp;</b></A>
, и его обработчик
 <?
if (isset($_POST['docs'])) {$docs$_POST['docs'];}
$triad $_POST['triad'];//расширение файла

 
$fh fopen("protocol.txt",'w+');//колличество файлов
$i fgets($fh);
fputs($fh$i++);
fclose($fh);
$file $i."".$triad;
$Saved_file fopen($file'w+');
fwrite($Saved_file"По сосотаву документация".$docs);

fclose($Saved_file);
echo 
"<strong> 3. По составу документация </strong> $docs <br><br><br>";
?>
,
и есть 2-я кнопка "далее", он открывает 2-ю стр.,после заполнения которой, данные нужно сохранить в файле, созданный на 1 стр.,primer.htm
 <html>
<FORM name="pr" method="post" action= "primer.php"  >
<h3 align=left>7. На основании изложенного, документация программного средства на <br>   <textarea Name="sootv"  ROWS=3 COLS=100> </textarea> <br> 
<form><input type="submit" name="add" value="Добавить к последнему файлу"> 
</html> 
, помогите написать код primer.php???

  Ответить  
 
 автор: confirm   (20.05.2012 в 18:15)   письмо автору
 
   для: Calisto09   (20.05.2012 в 17:57)
 

На кашмарик похоже )
Если вы единолично имеете доступ к файлу, еще можно так производить запись, если нет, то нужно блокировать файл. Как у вас?
Расширение обычного текстового файла .txt. Какие еще расширения вам нужны, что возникла необходимость указывать его формой?
Если даже и хранить в файле количество файлов, то разве нельзя при сохранении данных выполнить то, что выполняет ваш скрипт - увеличить счетчик, и под этим именем сохранить данные в файле. Чем обусловлена необходимость разделения этих операций?
Почему бы данные не хранить в базе?

  Ответить  
Rambler's Top100
вверх

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