2015-06-16 3 views
0

Я беру XML-файл из Amazon и пытаюсь сохранить его в файле.simplexml_load_file в файл, создающий пустой файл

$xml = simplexml_load_file($signedUrl); 
    $file = "c:/wamp/www/products.xml"; 
    file_put_contents($file, $xml); 

Это создает пустой файл. Зачем?

+0

'$ xml' сам не пуст? – Yang

+0

Нет, это не ... –

+0

Вы пытались использовать json? – aizele

ответ

1

simplexml_load_file() сам возвращает объект на успех, а не строку, в то время как file_put_contents() в качестве второго аргумента ожидает, что строка будет записана.

Итак, вы пытаетесь сохранить объект вместо необработанной строки.

В этом случае вы можете просто сделать что-то вроде этого:

$xml = file_get_contents($signedUrl); 
$file = "c:/wamp/www/products.xml"; 
file_put_contents($file, $xml); 

Поскольку вы просто хотите сохранить ответ в файл.

+0

Хорошая добыча! Я пропустил это в документах. Благодаря! –

1

Второй параметр file_put_contents может быть либо строкой, либо массивом, либо ресурсом потока. $xml - это объект!

+0

А, я полностью пропустил это. Благодаря! –

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