2016-04-13 9 views
1

タイトルは自明です。 PHPでは、PHPファイルを作成し、PHPとHTMLコードを追加して閉じます。問題は、PHPファイルがすべてのPHPコードを見つけて空に変換することです。ここで私が最後に試したことがあります。PHPで作成されたファイルにPHPコードを書き込むにはどうすればよいですか?

$phpfile=fopen('backupfile.php',"r"); 
 
$phptext=fgets($phpfile); 
 
    if(stristr($link, 'http://') === FALSE) { 
 
    fwrite($file2,$phptext."<meta http-equiv='refresh' content='0; URL=http://".$link." '/>"); 
 

 

 
    }else{ 
 
    fwrite($file2,$phptext."<meta http-equiv='refresh' content='0; URL=".$link." '/>"); 
 

 
    }

phpfileには次のものが含まれます。

<?php $file=fopen("/num","r"); $bar=fgets($file); $bar=$bar+1; $file=fopen("/num","w"); fwrite($file,$bar); ?> 

としては、それは単にファイルにそれを追加しない、前に言いました。

私はhtmlentitiesを試しましたが、それはページに表示されたPHPコードをファイルにハードワイヤードにしませんでした。

ありがとうございました。

+0

標準的なASCIIテキストを追加しますか? - あなたは、どのような集約であるかにかかわらず、書き込みプロセス自体が動作することを知っていますか? – Martin

+0

'$ phptext"を試したことがありますか?" ' – Joum

+0

@Joum見ることができませんそれと私が上に書いたものとの間の違い。 –

答えて

2

書き換えあなたのコードはエスケープされた単一引用符だけを使用します。二重引用符を使用すると、埋め込まれたPHPが解釈されます。

+0

ありがとう!これは多くの助けとなりました。 –

1

ファイル内にコードを記述するのではなく、データベースを使用してこのアイデアをつなぐことができます。

標準のディレクトリ設定、つまり:ヘルプドキュメントを使用できます。

ファイル内には、ページのデータベースを照会し、取得値を使用して各ページにパーマリンクを統合し、その値(多分ページID)のコンテンツを表示することができます。

もちろん、標準とセキュリティを実装する必要があります。つまり、誰でもページを作成できる場合は、特定のhtmlだけを追加したり、BBCodeを確実に追加する必要があります。

私はこれがあなたの考えを広げてくれることを願っています。これは、ほとんどのフォーラム、投稿、コメントがいかに働くかです。

0

ステップ1: コードの明確化:

$link = "some like address"; 
    if(mb_strpos($link, 'http://') === FALSE || mb_strpos($link, 'http://') > 0) { 
    $link = "http://".$link; 
    } 
    $phptext = PHP_EOL."<meta http-equiv='refresh' content='0; URL=".$link." '/>"; 
    file_put_contents('backupfile.php', $phptext, FILE_APPEND); 

[OK]をので、私がここで何をした://でチェックし、文字列に表示されます:HTTPの場合

  • は、マルチバイト文字列をチェックして確認します開始時にそれが無効であれば、それは無効なHTTP要求であるため、提供されたコードでこれをチェックしないため、開始は無益です。

  • これがチェックされると、$linkの値が更新されます。

  • 次に、file_put_contentを使用して、文字列に含まれているものを既存のファイルに追加します。ファイルが存在しない場合は作成されます。


編集:

それはあなたの質問から明らかではないが、あなたが$linkが文字列で保存されたい場合は、単一引用符で次のようにリンクを記述します。

$phptext = PHP_EOL.'<meta http-equiv="refresh" content="0; URL=$link"/>';