2016-09-02 2 views
0

У меня есть сценарий с запросом mysql, который автоматически сохраняет файл с именем invoice.xml каждый раз, запустив задание cron. В случае, если данные не найдены, no_orders.txt сохраняется.Как сохранить файл в подпапке, используя php

Я хотел бы этот файл не будет сохранен в той же папке, что и 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, но, к сожалению, без каких-либо успехов.

Спасибо

+1

Использование 'счета/invoice.xml' в качестве пути, то' ../'бит говорит, возвратить одну папку, а затем искать папку с именем' invoice' – RiggsFolly

+0

Кроме того, вам потребуется предоставить права на запись для папки пользователю www-data –

+0

Спасибо. invoice/invoice.xml отлично работает. Я также, конечно, имею права писать в папке. – user3358102

ответ

0

Просто дайте путь файла 'invoice.xml' в $ File. В противном случае создать некоторый объект $ Dir, который будет указывать на папку с именем «счет-фактура», а затем использовать соответствующие

0

Используйте __DIR__magic constant, чтобы получить ваш каталог script.php, то вы можете добавить /invoice/invoice.xml.

Пример, если путь к PHP скрипт что-то вроде этого: /var/www/path/to/script.php

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

Хорошо дайте OP простой пример, используя его код – RiggsFolly

Смежные вопросы