2013-09-06 3 views
0

Я прочитал много вопросов, ни одна из которых не работала. У меня есть txt-файл. Первая строка содержит заголовки, разделенные вкладкой «\ n». Теперь, когда я отправляю в этот файл, я хочу, чтобы он принимал значения и отделял их по вкладке, а затем записывал их в новую строку файла txt. Но когда я запускаю его, он просто перезаписывает первую строку.php не может написать новую строку, файл загружается

<?php 
$post = $_POST; 
$myFile = 'test.txt'; 
$fh = fopen($myFile, 'w'); 
$columns = ""; 
foreach ($post as $key => $value){ 

    $columns .= $value . "\t"; 

} 
fwrite($fh, $columns . PHP_EOL); 
fclose($fh); 
?> 
+0

Ive уже попробовал \ r \ n и все это и, наконец, попробовал EOL, и все еще первая строка файла перезаписывается –

+1

Попробуйте '$ fh = fopen ($ myFile, 'a');' если вы не хотите перезаписывать содержание. Использование 'w' перезаписывает и' a' или 'a +' добавляет. –

+0

Спасибо, извините за то, что я так тупой. Работал! –

ответ

1

Вы ищете a вместо w:

$fh = fopen($myFile, 'a'); 

От the docs:

'ш' Открыть только для записи; поместите указатель файла в начало файла и обрезайте файл до нулевой длины. Если файл не существует , попробуйте его создать.

'a' Открыт для записи; поместите указатель файла в конец файла . Если файл не существует, попытайтесь его создать.

0

Попробуйте $fh = fopen($myFile, 'a');, если вы не хотите перезаписывать контент.

Использование w перезаписывается, а a или a+ прилагается.

Для получения дополнительной информации о функции fwrite() вы можете обратиться к руководству по PHP.

консультации также PHP руководство по fopen()http://php.net/manual/en/function.fopen.php

'a' Открыть только для записи; поместите указатель файла в конец файла. Если файл не существует, попытайтесь его создать.

'a+' Открыт для чтения и записи; поместите указатель файла в конец файла. Если файл не существует, попытайтесь его создать.

0

w используется для записи, что означает что-либо, прежде чем оно будет перезаписано.

Изменить следующую строку:

$fh = fopen($myFile, 'w'); //w = write 

Для

$fh = fopen($myFile, 'a'); //a = append 

Это должно решить проблему для вас.