2009-08-04 6 views
2

touch >タスクを使用して特定のファイルのアクセス許可をチェックするphingビルドファイルがあります。Phingの配列プロパティ

これは、異なるファイルの場所のリストであるextenalファイル(filesToCheck.txt)を呼び出します。これは正常に動作します。しかし、同じ外部ファイル(filesToCheck.txt)の特定のキーに基づいて特定のファイルにアクセスしたい場合、PHPコードで同じリストを再利用することができません。

私はPhingのドキュメントを調べましたが、配列のタスクが見つかりませんでした。誰かが回避策を知っているか、新しいタスクを作成していますか?Phingの配列プロパティを処理する唯一のソリューションですか?

答えて

0

アドホックタスクは、クイックダーティーな解決策として作成することもできますし、独自のタスクを作成することもできます。私はしばらくの間、Phingを使ってきました。あなた自身で書く代わりに、何も私のところに飛び出しません。

3

タッチタスクがファイルのアクセス許可を確認する最も効率的な方法ではなかったため、私はアドホックタスクを作成しました。 PHPのtouchは、ユーザーがファイルの所有者でない場合、ファイルに対して期待どおりに機能しません。

これは私が思い付いたアドホック作業です:

  <adhoc-task name="is-file-writeable"> 
      <![CDATA[ 

      class IsFileWriteableTest extends Task 
      { 
       private $file; 

          function setFile($file) 
       { 
        $filesArray = parse_ini_file('filesToCheck.ini'); 
        $this->files = $filesArray; 
       } 

       function main() 
       { 
        foreach ($this->files as $fileName => $fileLocation)  
        { 
         if (!is_writable($fileLocation)) 
         {  
          throw new Exception("No write permission for $fileLocation"); 
         } 
        } 
       } 
      } 
      ]]> 
      </adhoc-task> 

      <target description="list of files to check permission" name="files-to-test"> 
      <is-file-writeable file="/path/to/filesToCheck.ini" /> 
      </target> 
関連する問題