我在阅读使用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";
答案 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像魅力一样工作,无论如何... ...