读取用fopen php函数创建的文件

时间:2014-10-06 15:28:08

标签: php joomla rss joomla2.5 jwplayer6

我在阅读使用fopen函数创建的文件时遇到问题,文件存在于服务器上,但无法访问,我也不知道为什么,如果我通过ftp下载它,exsist,但是我无法从php访问它,这是文件创建的代码:

if (!(file_exists("./media/mod_xml/ $rssname "))) {
$myfile = fopen("./media/mod_xml/ $rssname ", "w+b") or die("Unable to open file!");
$txt = '<rss version="2.0" xmlns:jwplayer="http://rss.jwpcdn.com/">
';
$txt .='<channel>
';
foreach ($xml->video as $video) {
    $txt .='<item>
    ';
    $txt .='<title>'.$xml->video->titolo.'</title>
    ';
    $txt .='<description>'.$xml->video->descrizione.'</description>
    ';
    $txt .='<jwplayer:image>'.$xml->video->preview.'</jwplayer:image>
    ';
    $txt .='<jwplayer:source file="'.$xml->video->video.'" />
    ';
    $txt .='</item>
    ';
}
$txt .='</channel>
';
$txt .='</rss>
';
fwrite($myfile, $txt);
fclose($myfile);
}

这是尝试阅读文件的代码:

<script type="text/javascript">
    jwplayer("jwplayer<?php echo $xml->video->id;?>").setup({
        playlist: "http://www.example.com/media/mod_xml/<?php echo $xml->video->id;?>.rss",
        width: <?php echo $params->get('vwidth', ''); ?>,
        height: <?php echo $params->get('vheight', ''); ?>
    });
</script>

其中&#34; mysite.com&#34;是rss文件所在站点的URL。如果我打开media / mod_xml /文件夹,文件就在那里,并且格式正确,但由于某些奇怪的原因,php没有读取它们。

如果我尝试将浏览器指向文件,我会收到404 Not Found错误,告诉我

在此服务器上找不到请求的网址/media/mod_xml/399.rss。

但文件在那里,有人可以帮忙吗?推荐:)

编辑:

我在另一台服务器/域上加载了一个php文件&#34;转换&#34;将它传递给jwplayer到标准rss,文件读得很好并且&#34;转换&#34;好:

$xmlurl = $params->get('xmlurl', '');
$xml = simplexml_load_file($xmlurl);
$rssname = $xml->video->id;
$rssname .=".rss";

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。问题是文件是创建的,但它们似乎不是propers RSS文件,

我编辑了代码,并使用此代码命名文件和上传文件夹:

$xmlurl = $params->get('xmlurl', '');
$xml = simplexml_load_file($xmlurl);
$rssname = $xml->video->id;
$rssname .=".rss";
$upload_dir = "./media/mod_xml/";
if (!(file_exists($upload_dir.$rssname))) {
$myfile = fopen($upload_dir.$rssname, "w") or die("Unable to open file!");
...}

现在文件被创建为Propers RSS文件,jwPlayer像魅力一样工作,无论如何... ...