我有一个带有mysql查询的脚本,它通过运行cron作业每天自动保存一个名为 invoice.xml 的文件。如果没有找到数据,则保存 no_orders.txt 。
我希望此文件不会保存到与 script.php 文件相同的文件夹中,而是保存到名为发票的子文件夹中。
使用以下代码
重命名旧的 invoice.xml // rename old file
$nowshort = date("Y-m-d");
if(file_exists('invoice.xml')) {
rename('invoice.xml','invoice_'.$nowshort.'.xml');
}
使用以下代码完成保存:
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 / invoice.xml 这样的可能性,但遗憾的是没有任何成功。
谢谢
答案 0 :(得分:0)
只需将文件'invoice.xml'的路径提供给$ File。 否则创建一个$ Dir对象,该对象将指向名为'invoice'的文件夹,然后相应地使用
答案 1 :(得分:0)
使用__DIR__
magic constant检索您的script.php目录,然后添加/invoice/invoice.xml。
示例如果脚本的路径是这样的: /var/www/path/to/script.php
$currentDir = __DIR__; //this wil return /var/www/path/to
$invoicePath = $currentDir.'/invoice/invoice.xml';