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

Форум PHP

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

 

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

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

тема: запись сразу в два и более файла
 
 автор: sway   (14.03.2006 в 11:08)   письмо автору
 
 

Можно ли осуществить запись сразу в два и более файла, причем в каждый файл пишутся разные данные?

   
 
 автор: Loki   (14.03.2006 в 11:35)   письмо автору
 
   для: sway   (14.03.2006 в 11:08)
 

Вам надо непременно писать сразу два файла, или два файла одним скриптом?

   
 
 автор: sway   (14.03.2006 в 13:07)   письмо автору
 
   для: Loki   (14.03.2006 в 11:35)
 

надо одним скриптом сразу в два файла, в форме вношу например четыре переменные $a, #$b, $c, $d и надо чтобы первые две писались в один файл text.txt, а другие в text1.txt

   
 
 автор: Trianon   (14.03.2006 в 11:46)   письмо автору
 
   для: sway   (14.03.2006 в 11:08)
 

<? 
   $f1 
fopen('file1.txt''w');        $f2 fopen('file2.txt''w');     
   
fputs($f1'data1');                  fputs($f2'data2'); 
   
fclose($f1);                          fclose($f2);
?>

Каков вопрос - таков ответ....

   
 
 автор: sway   (15.03.2006 в 14:13)   письмо автору
 
   для: Trianon   (14.03.2006 в 11:46)
 

я так понимаю, что этот скрипт последовательно открывает 1 файл, пишет в него, закрывает, а затем принимается за второй?

   
 
 автор: Trianon   (15.03.2006 в 14:40)   письмо автору
 
   для: sway   (15.03.2006 в 14:13)
 

Вовсе нет. Код выполняются построчно. А не абзац слева - абзац справа. :)

   
 
 автор: sway   (15.03.2006 в 14:45)   письмо автору
 
   для: Trianon   (15.03.2006 в 14:40)
 

да вы чё? надо попробовать.
Знаний по PHP маловато, но я считал что знак ; обрубает строку и по этому знаку скрипт переходит на следующую строку?

   
 
 автор: Trianon   (15.03.2006 в 14:49)   письмо автору
 
   для: sway   (15.03.2006 в 14:45)
 

если б так было - второй файл вообще бы не создался.
Знак ; показывает, что в этом месте закончился оператор ( и, возможно, начался следующий).

   
 
 автор: midav   (15.03.2006 в 23:54)   письмо автору
 
   для: Trianon   (14.03.2006 в 11:46)
 

Ну я не знаю конечно, но походу w это не совсем построчная запись :)))

//запись в первый файл
  $f1 = fopen('file1.txt', 'a+');     
   fputs($f1, 'data1');             
   fclose($f1);     

//запись в второй файл
 $f2 = fopen('file2.txt', 'a+');     
   fputs($f2, 'data1');             
   fclose($f2);

   
 
 автор: Trianon   (16.03.2006 в 01:32)   письмо автору
 
   для: midav   (15.03.2006 в 23:54)
 

Речь шла про построчность исходника скрипта, а не записываемых им файлов.
А уж о дозаписи в хвост файлов вообще никто не дышал.

   
 
 автор: sway   (16.03.2006 в 06:47)   письмо автору
 
   для: Trianon   (16.03.2006 в 01:32)
 

есть код:

<?php 
echo '<form name="form"> 
text:<br> <textarea name="data" cols="50" rows="10"></textarea> 
</form>'
;

echo 
'<form name="form"> 
Имя:<br> <textarea name="name" cols="50" rows="10"></textarea> 
</form>'
;
$name=trim($name);
$name=$name.'.txt'

echo 
'<form name="form"> 
text1:<br> <textarea name="data1" cols="50" rows="10"></textarea> 
<input type="submit" name="start" value="Отправить"> 
</form>'
;

$fl=fopen("$name","w+"); 
flock ($fl,LOCK_EX);//блокировка файла 
fputs ($fl,$data1); 
flock ($fl,LOCK_UN);//снятие блокировки 
fclose($fl); 

$gf "1.txt"

$file file_get_contents ($gf); 
$string "$data"
$fp fopen ($gf"w+"); 
flock ($fp,LOCK_EX);//блокировка файла
fwrite ($fp$string "\n" $file); 
flock ($fp,LOCK_UN);//снятие блокировки 
fclose ($fp); 
?>

но проблема в чем: он должен создать файл с именем $name, а происходит следующее - создается файл без имени .txt
а в файл 1.txt пишется пустая строка,
не подскажете в чем ошибка?

   
 
 автор: Trianon   (16.03.2006 в 10:16)   письмо автору
 
   для: sway   (16.03.2006 в 06:47)
 

У Вас слишком много форм. По-моему, собака зарыта именно в этом.

   
 
 автор: sway   (16.03.2006 в 11:00)   письмо автору
 
   для: Trianon   (16.03.2006 в 10:16)
 

Ну как много? Бывало и больше, правда писали они в один файл.
А тут именно надо чтобы один файл создавался и в него писалась инфа, а в еще один файл писалась одновременно с этим и из одной формы другая инфа

   
 
 автор: Trianon   (16.03.2006 в 11:17)   письмо автору
 
   для: sway   (16.03.2006 в 11:00)
 

Да, но на сервер-то передаются данные всегда только из одной формы. Кроме того, то что Вы пользуетесь register_globals=on, вносит сумятицу в логику. Мне её не понять. Попробуйте использовать $_GET['pole'] или $_POST['pole'] там, где хотите получить значение поля pole обрабатываемой формы.
И наконец, у Вас все формы называются одинаково. Это тоже как-то странно. Серверу, конечно, пофиг, а меня это запутывает.

   
 
 автор: sway   (17.03.2006 в 10:17)   письмо автору
 
   для: Trianon   (16.03.2006 в 11:17)
 

Сам разобрался.
выложу код, вдруг кому понадобиться :))

файл с формой test.php

<?php 
echo '<form action="rec.php" method=post>Имя файла<br><input name="names" type="text" maxlength="20" style="background: #ffffff; width: 300px; height:20px; border: #000000 1px solid" value="">'
echo 
'<br>запись в статичный файл:<br> <textarea name="data" cols="50" rows="10"></textarea>';
echo 
'<br>запись в генерируемый файл:<br> <textarea name="data1" wrap="virtual" cols="50" rows="10"></textarea> 
<input type="submit" name="start" value="Отправить"> 
</form>'
;
?>

записывающий файл rec.php

<?php
$names
=$_POST['names'];
$data1=$_POST['data1'];
$gf "1.txt";
$names=trim($names);
$names=$names.'.txt'
$fl=fopen("$names","wb");
fputs ($fl,$data1);
fclose($fl);

$fp fopen ($gf"w+");
fputs ($fp$data); 
fclose ($fp);
echo 
'<p>создан файл: '.$names.' в него записано - '.$data1.'</p>';
echo 
'<p>записано в статичный файл: 1.txt текст - '.$data.'</p>';
echo 
'<p>для перехода назад нажмите <a href="test.php">назад</a></p>';
?>

пришлось использовать два файла, может кто подскажет каким образом можно все это объеденить?

   
 
 автор: Trianon   (17.03.2006 в 10:29)   письмо автору
 
   для: sway   (17.03.2006 в 10:17)
 

А какую задачу он решает? Там внутри всё довольно туманно :)

   
 
 автор: sway   (17.03.2006 в 10:37)   письмо автору
 
   для: Trianon   (17.03.2006 в 10:29)
 

задача такова:
необходимо создать файл с определенным именем (задается в форме) и записать в него некую инфу, одновременно с этим в существующий файл добавляется инфа о том что создан такой-то файл (т.е. имя|title|что-то еще).
Но если объединить все в один файлик происходит следующее:
файл создается без имени что-то типа .txt , хотя в него инфа пишется. причина при первом запуске неизвестно имя файла. При разделении на два файла основной (форма) и исполняюший э та проблема пропадает, т.к. имя файла передается с переменной от основного к исполняющему.
Но вдруг есть способ их объединить?

   
 
 автор: Trianon   (17.03.2006 в 10:44)   письмо автору
 
   для: sway   (17.03.2006 в 10:37)
 

существующий файл добавляется инфа о
Непохоже, чтобы скрипт это делал.

   
 
 автор: sway   (17.03.2006 в 10:47)   письмо автору
 
   для: Trianon   (17.03.2006 в 10:44)
 

создание файла код:

<?php
$fl
=fopen("$names","wb");
fputs ($fl,$data1);
fclose($fl);
?>

запись в сушествующий:
<?php
$gf = "1.txt";

$fp = fopen ($gf, "w+");
fputs ($fp, $data);
fclose ($fp);
?>

   
 
 автор: Trianon   (17.03.2006 в 10:51)   письмо автору
 
   для: sway   (17.03.2006 в 10:47)
 

Я не буду спорить, пользоваться ведь скриптом Вам, а не мне. Но советую проверить работоспособность, хотя бы двумя тремя последовательными вызовами.

   
 
 автор: sway   (17.03.2006 в 11:04)   письмо автору
 
   для: Trianon   (17.03.2006 в 10:51)
 

все работает, хотя есть ошибка в режиме записи в статичный файл надо вместо "w+" писать "a+"

   
 
 автор: sway   (17.03.2006 в 13:21)   письмо автору
 
   для: sway   (17.03.2006 в 11:04)
 

Никто не подскажет способ объединения этих файлов ? :(((

   
 
 автор: midav   (17.03.2006 в 14:39)   письмо автору
 
   для: sway   (17.03.2006 в 13:21)
 

Что именно подсказать то :)

   
Rambler's Top100
вверх

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