php
  • file-io
  • code-generation
  • 2011-10-18 5 views 1 likes 
    1

    私はPHPファイルを生成するためのコードに取り組んでいます。PHPコードを.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ファイルに書きたいと思います。私が今やっているように、すべての関数を1行ずつ書くのは非常に面倒です。

    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

    あなたはPHP> = 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); 
    
    +0

    ありがとうございます。 php.netでheredocを読むときにnowdocの構文が間違っていると思います – cyberfly

    1

    私の質問は、ファイルにPHPコードを書くための任意のよりスマートな方法があります?

    確かに。

    プログラムでは決して実行しないでください。

    関連する問題