2016-09-02 4 views
0

私は、cronジョブを実行してinvoice.xmlというファイルを毎日自動的に保存するmysqlクエリを持つスクリプトを用意しています。データが見つからない場合はno_orders.txtが保存されます。PHPを使ってサブフォルダにファイルを保存するには

私はscript.phpファイルはではなく、請求書と呼ばれるサブフォルダにあるのと同じフォルダに保存されていないこのファイルをしたいと思います。

if($xml1 !='') {  
    $File = "invoice.xml"; 
    $Handle = fopen($File, 'w'); 
    fwrite($Handle, $xml1); 
    print "Data Written - ".$nowMysql; 
    fclose($Handle); 
    #print $xml; 
    die(); 
} else { 
    print "No new orders - ".$nowMysql; 
    $File = "no_orders_".$nowshort.".txt"; 
    $Handle = fopen($File, 'w'); 
    fclose($Handle); 
    die(); 
} 

は、私がどのように支援を取得してもらえ:

古いinvoice.xmlの名前の変更は保存は、次のコードで行われ

// rename old file 
$nowshort = date("Y-m-d"); 
if(file_exists('invoice.xml')) { 
    rename('invoice.xml','invoice_'.$nowshort.'.xml'); 
} 

次のコードを使用して行われますこのファイルをサブフォルダに保存します。また、既存のファイルの名前変更はサブフォルダ内にある必要があります。私はすでに../invoice/invoice.xmlのような可能性を試しましたが、残念なことに成功しません。

あなたは

+1

使用 '請求書/ invoice.xml'、' ../'ビットは1つのフォルダーに戻り、' invoice'というフォルダーを探します。 – RiggsFolly

+0

また、フォルダーに対する書き込み権限をwww-dataユーザーに与える必要があります。 –

+0

ありがとうございます。 invoice/invoice.xmlは完全に機能します。私はもちろん、フォルダに書き込む権利も持っています。 – user3358102

答えて

0

だけで$ファイルにファイル 'invoice.xml' のパスを与えていただきありがとうございます。 は、そうでない場合は、その後、あなたは/invoice/invoice.xmlを追加することができ、あなたのscript.phpディレクトリを取得するために、それに応じて

0

使用__DIR__magic constantを使用し、「請求書」という名前のフォルダを指すようになり、いくつかの$ DIRオブジェクトを作成します。

例であれば、あなたのこのようなスクリプトPHPの何かへのパス:パスとして /var/www/path/to/script.php

$currentDir = __DIR__; //this wil return /var/www/path/to 
$invoicePath = $currentDir.'/invoice/invoice.xml'; 
+0

彼のコードを使ってOPに簡単な例を付ける – RiggsFolly

関連する問題