2016-07-19 17 views
0

OKみんな、これは私の最初の投稿です。私は何度も何度も検索し、無駄な時間を費やしました。私はこの比較的簡単なPHPモジュールで助けを求めています。php - 文字列の末尾に追加してtxtファイルに保存

基本的に言えば、私がしたいことは、テキストファイルをuploadsディレクトリにアップロードしてPHPにファイルを処理させ、各行の最後にHTML BREAK TAGSを追加して保存する文字列関数を実行させることですこのファイルへの出力。私はフォーマットされたテキストをブラウザにエコーする方法を学びました。フォーマットされたテキストをブラウザのように表示する必要がありますが、ファイルに書き戻すことはできません。

ここにコードがあります。

<?php 

$form = <<<EOD 
<form enctype="multipart/form-data" action="" method="POST"> 
<input type="hidden" name="MAX_FILE_SIZE" value="100000000" /> 
Choose an file to upload: <input name="uploadedfile" type="file" /><br /> 
<input type="submit" value="Upload File" /> 
</form> 
EOD; 
echo $form; 

$target_path = "uploads/"; //SETS THE UPLOAD DIRECTORY 
$target_path = $target_path . basename($_FILES['uploadedfile']['name']); // GETS FILEPATH OF UPLOAD FOR OPENING/PROCESSING 

$uploadfile = basename($_FILES['uploadedfile']['name']); //GETS FILENAME OF THE UPLOADED FILE IN CASE ITS NEEDED. 

//PROCESSING - MOVES TMP FILE INTO TARGET DIRECTORY. NEED STRING FUNCTIONS APPLIED TO ADD <BR/> AT END OF EACH LINE. 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 

    $file = fopen($target_path, "r"); 

    while(!feof($file)) 
    { 
     $line = fgets($file); //READS EACH LINE 

// STRING PROCESSING PART -- SHOULD I USE str_replace, substr_replace, nl2br, or str_pad ?? 
..........CODE GOES HERE............PLEASE HELP ME CHOOSE THE RIGHT CODING HERE...THANKS!!! SORRY FOR THE PSEUDOCODE! 

/* EXAMPLE SCRIPT: 
$line2 = str_replace("\n", "<br />\n", $line); 
// THIS WORKS -- GREAT FOR OUTPUTTING FORMATTED HTML INTO BROWSER 
echo $line2; 
// FOR NICE VIEWING BUT STILL CANNOT GET FORMATTED 
// HTML TO SAVE TO FILE USING FWRITE() ... 
*/ 

fwrite($file, $newstr); 
    } //CLOSES WHILE 

fclose($file); //CLOSES FILE HANDLE 
} //CLOSES IF 

?> 

私の脳を爆発させるにはあまりにも多くの深夜、開いている窓、トラブルシューティングの手順が必要です。私はあなたのうちの1人が2分でこれをノックアウトすることができます知っています!

私は、このエラーログを取得しておく気づく:

PHPの警告:モジュール「mailparseよりは」は既に行に不明にロードされた0

+1

エラーを見つけて、私はこれを見ました - http://www.somacon.com/p520.phpとhttp://stackoverflow.com/questions/21127052/php-mailparse-so-error-undefined-symbol-mbfl -convert-filter-flush –

+0

同様の問題があった場合、拡張機能をチェックアウトし、mailparse拡張機能を無効にします。 mailparseがサーバーのインストールに含まれている可能性があります。そして、PHPコードをHTMLコードの上に移動する必要があります。 – Nitin

答えて

0

あなたが現在やっていることの問題点がいくつかあります。まず、読み込み専用のファイルを開いたことがありますが、そのファイルを変更しても、同じファイル内の長い行に置き換えることはできません。あなたの現在のアプローチが機能するためには、2番目のファイルを開いて書き出し、2番目のファイルに変更した行を追加する必要があります。しかし限り、ファイルが非常に大きくないとして、あなたがより簡単に変更されたファイルを作成することができるはずです。

ちなみに
file_put_contents($output_file, nl2br(file_get_contents($input_file))); 

、mailparseより警告があなた」のコードに関連すると表示されません。ここに掲載されました。

関連する問題