2016-09-25 2 views
0

В приведенном ниже коде я просто заменяю все одинарные кавычки на двойные кавычки из исходного файла.Как я могу написать файл по строкам или тому подобное?

Я получил большинство из этого, мне просто нужно записать его в файл сейчас.

Должен ли я хранить все строки в памяти, а затем писать.

Или писать по строкам?

Какой путь лучше всего

<?php 

    // http://stackoverflow.com/questions/5299471/php-parsing-a-txt-file 
    // http://stackoverflow.com/questions/15131619/create-carriage-return-in-php-string 
    // http://stackoverflow.com/questions/2424281/how-do-i-replace-double-quotes-with-single-quotes 


    $txt_file = file_get_contents('../js/a_file.js'); 
    $rows  = explode("\n", $txt_file); 
    array_shift($rows); 

    foreach($rows as $row => $data) 
    { 
     $data = str_replace("'", '"', $data); 

     // echo "" . $row . " | " . $data . "\r\n"; 

     // fwrite($myfile, $txt); 

    } 

ответ

0

вы можете писать в файл с

<?php 
$content = str_replace("'", '"', file_get_contents('../js/a_file.js')); 
$myfile = "../js/a_file.js"; 
file_put_contents($myfile , $content); 
?> 
1

Вы все операции являются избыточными:

$result = file_put_contents(
    '../js/a_file.js', 
    str_replace("'", '"', file_get_contents('../js/a_file.js')) 
); 
+0

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

0

Вы можете использовать в своем коде:

$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 

Например:

$txt_file = file_get_contents('../js/a_file.js'); 
$rows  = explode("\n", $txt_file); 
array_shift($rows); 

$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 

foreach($rows as $row => $data) 
{ 
    $data = str_replace("'", '"', $data); 

    fwrite($myfile, $data); 

} 

fclose($myfile); 
+0

Это не работает. Что-то происходит с возвращаемыми символами. –

+1

Это пример, который вы должны соответствовать его потребностям. Попробуйте '$ data = str_replace (" ',' '', $ data). \ N ";' для новой строки. – Mario

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