使用 PHP 将 XML 源下载到本地目录


Downloading XML feed to local directory using PHP

我正在使用smarty来显示xml。这是我正在使用的代码。

<?xml version="1.0" encoding="utf-8"?>
<source>
<publisher>SmartJobBoard</publisher>
<publisherurl><![CDATA[{$GLOBALS.site_url}]]></publisherurl>
<lastBuildDate>{$lastBuildDate}</lastBuildDate>
 {foreach from=$listings item=listing}
{if $listing.VetNetwork == '1' && $listing.Title == 'Personal Security'}
<job>
<title><![CDATA[{$listing.Title}]]></title>
<sites>
    {if $listing.VetNetwork == '1'}
    <site>veteransfeb2011</site>
    {/if}
    {if $listing.MedNetwork == '1'}
<site>hcjan2011</site>
    {/if}
    {if $listing.EdNetwork == '1'}
<site>edujul2012</site>
    {/if}   
</sites>
<date><![CDATA[{$listing.activation_date}]]></date>
<referencenumber><![CDATA[{$listing.id}]]></referencenumber>
<url><![CDATA[{$listing.listing_url}]]></url>
<company><![CDATA[{$listing.user.CompanyName}]]></company>
<city><![CDATA[{$listing.Location.City}]]></city>
<state><![CDATA[{$listing.Location.State}]]></state>
<country><![CDATA[{$listing.Location.Country}]]></country>
<postalcode><![CDATA[{$listing.Location.ZipCode}]]></postalcode>
<description><![CDATA[{$listing.JobDescription|strip_tags:false}       {$listing.JobRequirements|strip_tags:false}]]></description>
<salary><![CDATA[{$listing.Salary.value} {foreach from=$listing.SalaryType     item=list_value name="multifor"}{tr}{$list_value}{/tr}{if    !$smarty.foreach.multifor.last}, {/if}{/foreach}]]></salary>
<education><![CDATA[]]></education>
<jobtype><![CDATA[{foreach from=$listing.EmploymentType item=list_value    name="multifor"}{tr}{$list_value}{/tr}{if !$smarty.foreach.multifor.last}, {/if}   {/foreach}]]></jobtype>
<category><![CDATA[{foreach from=$listing.JobCategory item=list_value    name="multifor"}{tr}{$list_value}{/tr}{if !$smarty.foreach.multifor.last}, {/if}    {/foreach}]]></category>
<experience><![CDATA[{$listing.JobExpirience}]]></experience>
</job>
{/if}
{/foreach}
</source>

当您转到链接到此模板的 URL 时,它将在网页中生成 XML。我需要将此 XML 放入实际文件中并将其存储在服务器上。

我还不明白你喜欢如何使用哪台机器将文件下载到哪个目录。通常,提供文件的服务器负责内容(它通过标头告诉客户端,内容是可下载的)。

使用客户端和客户端软件,您可以决定将下载的文件存储到哪个目录。

您不能通过提供网络服务器的内容来决定。如果可能的话,从我的角度来看,这是一个安全问题。

你不需要任何标题的东西。要写入"PHP 代码所在的服务器上的目录",只需使用 file_put_contents .