2016-04-13 102 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

它不是真的關於在一個文件中編寫代碼,你可以使用數據庫橋接這個想法。

你可以有一個標準的目錄設置,即:幫助文檔。

在那個目錄中,有一個文件:你可以簡單地查詢數據庫的頁面,使用get值將固定鏈接集成到每個頁面,然後顯示該值(可能是頁面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); 

好了,所以我做了什麼這裏:

  • 與多字節字符串檢查,檢查是否HTTP://出現在字符串中,在檢查開始是無關緊要的,因爲如果它不是一開始就是一個無效的HTTP請求,並且在提供的代碼中沒有對此進行檢查。

  • 一旦選中,$link值會更新。

  • 然後使用file_put_content將字符串中的內容追加到現有文件中。如果文件不存在,那麼它將被創建。


編輯:

它不是從你的問題清楚,但如果你想$link保存在字符串中,然後寫鏈接用單引號如下:

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