Я хотел бы генерировать файлы из xml, я пробую это, но он не работает:
<?php
$file0 = "fle0.php";
$file1 = "fle1.php";
$file2 = "fle2.php";
$file3 = "fle3.php";
$file4 = "fle4.php";
$file5 = "fle5.php";
$file6 = "fle6.php";
$file7 = "fle7.php";
$file8 = "fle8.php";
$file9 = "fle9.php";
$html = "";
$url = "http://website.com/file.xml";
$xml = simplexml_load_file($url);
for($i = 0; $i < 10; $i++){
$link = $xml->books[$i]->link;
$title = $xml->books[$i]->title;
$html .= "<a href=\"$link\">$title</a>";
file_put_contents($file[$i], $html);
}
?>
Могу ли я использовать file_put_contents для цикла for?
Вот файл XML:
<response>
<books>
<link>http:/www.website.com/linktobook/1.html</link>
<title>Book Title 1</title>
<image>http:/www.website.com/linktobook/1.jpg</image>
</books>
<books>
<link>http:/www.website.com/linktobook/2.html</link>
<title>Book Title 2</title>
<image>http:/www.website.com/linktobook/2.jpg</image>
</books>
<books>
<link>http:/www.website.com/linktobook/3.html</link>
<title>Book Title 3</title>
<image>http:/www.website.com/linktobook/3.jpg</image>
</books>
</response>
Он работает без цикла, когда я использую $xml-> books [0] → link; и $xml-> книги [1] → ссылка; и т.п.
Благодаря: Джеку
Ответ: изменить $ file [$ i] на $ {"file $ i"}
$file[$i]
не существует (это не массив), вы, вероятно, имели в виду${"file$i"}
.