有关将PHP代码写入.php文件的提示吗?

时间:2011-10-18 09:57:45

标签: php file-io code-generation

我正在编写一个生成php文件的代码。

这是我编写php文件的代码示例

$myFile = "testFile.php";
$fh = fopen($myFile, 'w+') or die("can't open file");

$data = '<?php'. "\n\n";

$data.= '$datetime = date("Y-m-d H:i:s");'. "\n\n";

$data.= '$_POST = array_map(\'mysql_real_escape_string\', $_POST);'. "\n\n";

$data.= '?>';

fwrite($fh, $data);
fclose($fh);

此代码工作正常。我的问题是有没有更智能的方法将PHP代码写入文件?例如,我有这个功能,我想写入PHP文件。像我现在正在做的那样逐行编写所有函数将非常繁琐。

function shorten_url($url)
{       
    $longUrl = $url;

    $apiKey = 'your_api_key_here';      

    $postData = array('longUrl' => $longUrl, 'key' => $apiKey);
    $jsonData = json_encode($postData);

    $curlObj = curl_init();

    curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url');
    curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curlObj, CURLOPT_HEADER, 0);
    curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
    curl_setopt($curlObj, CURLOPT_POST, 1);
    curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);

    $response = curl_exec($curlObj);

    $json = json_decode($response);

    curl_close($curlObj);

    $tiny_url = $json->id;

    if(($response!=FALSE)&&(!empty($tiny_url)))
    {
        return $tiny_url;
    }
    else
    {
        return false;
    }       

}

2 个答案:

答案 0 :(得分:2)

如果你有PHP&gt; = 5.3,那么使用nowdoc syntax会更方便:

$data = <<<'EOD'
<?php
$datetime = date("Y-m-d H:i:s");
$_POST = array_map('mysql_real_escape_string', $_POST);
?>
EOD;

echo htmlspecialchars($data);

答案 1 :(得分:1)

  

我的问题是有没有更聪明的方法将PHP代码写入文件?

不确定

永远不要以编程方式进行。