读取使用fopenphp函数创建的文件


read a file created with fopen php function

我在读取用fopen函数创建的文件时遇到问题,文件在服务器上存在,但无法访问,我不知道为什么,如果我通过ftp下载它,它存在,但我无法从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>

其中"mysite.com"是rss文件所在站点的URL。如果我打开media/mod_xml/文件夹,文件就在那里,并且格式很好,但由于一些奇怪的原因php无法读取它们。

如果我试图将浏览器指向文件,我会得到一个404 Not Found错误,告诉我

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

但是文件在那里,有人能帮忙吗?advace中的tnks:)

编辑:

我在另一个服务器/域上加载一个php文件,并将其"转换"为标准rss,以便将其传递给jwplayer,文件读取良好,"转换"良好:

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

我解决了这个问题。问题是创建了文件,但它们似乎不是合适的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就像一个魅力,无论如何都是tnks。。。