2010-01-02 5 views
0

Im используя следующий PHP для отправки содержимого HTML <form> в текстовый файл:Написать один значение два текстовых файлов одновременно

$filename = "polls"."/".time() .'.txt'; 
    if (isset($_POST["submitwrite"])) { 
     $handle = fopen($filename,"w+"); 
     if ($handle) { 
      fwrite($handle, $_POST["username"]."¬".$_POST["pollname"]."¬".$_POST["ans1"]."¬".$_POST["ans2"]."¬".$_POST["ans3"]."¬".time()); 
      fclose($handle); 
     } 

В то же время, создавая текстовый файл с содержимым в форме, я также хочу записать time() в файл, который уже существует, поэтому будет использовать 'a +'. Они должны храниться как разделенные запятыми значения.

Может ли кто-нибудь предложить, как я могу это сделать в одно и то же время?

+1

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

ответ

5

Просто открыть два файла:

$handle1 = fopen($filename1, "w+"); 
$handle2 = fopen($filename2, "a+"); 
if ($handle1 && $handle2) { 
    fwrite($handle1, $_POST["username"]."¬".$_POST["pollname"]."¬".$_POST["ans1"]."¬".$_POST["ans2"]."¬".$_POST["ans3"]."¬".time()); 
    fwrite($handle2, time() + "\n"); 
} 
if ($handle1) { 
    fclose($handle1); 
} 
if ($handle2) { 
    fclose($handle2); 
} 
2

Вы могли бы также написать (включая добавление) файлы с помощью file_put_contents().

if (isset($_POST["submitwrite"])) { 
    // Could perhaps also use $_SERVER['REQUEST_TIME'] here 
    $time = time(); 

    // Save data to new file 
    $line = sprintf("%s¬%s¬%s¬%s¬%s¬%d", 
      $_POST["username"], $_POST["pollname"], $_POST["ans1"], 
      $_POST["ans2"], $_POST["ans3"], $time); 
    file_put_contents("polls/$time.txt", $line); 

    // Append time to log file 
    file_put_contents("timelog.txt", "$time,", FILE_APPEND); 
} 
+0

+1 для 'file_put_contents()' –

Смежные вопросы