Php 从服务器文件夹创建自动RSS源
我有一个安装了PHP的VPS web服务器,有几个文件夹,里面有学校的录音。我想为每个文件夹生成一个RSS提要,按字母顺序列出.mp3文件(因为它们包含像001 filename这样的数字前缀)。目前有没有可行的方法?我在网上找到了这两个脚本,但它们似乎都不适合我 N°2似乎是最简单的脚本,但如果我编辑变量并将其上载到适当的文件夹,它似乎不起作用。这是我导航到我的页面的结果: ?xml version=“1.0”?>0{$files[]['name']=$file;$files[]['timestamp']=filectime($file);}}}}closedir($dir);//natcasesort($files);-我们将使用日期和时间对列表进行排序。对于($i=0;$i\n“echo”\n“echo”。$feedBaseURL.$files[$i]['name']。“\n”echo.$files[$i]['name']。“\n”//echo.”日期($dmj G:i:sty“,$files[$i]['timestamp'])。“\n”//echo”。$files[$i]['timestamp']。“\n”echo“\n”echo”} 这是我的php版本 PHP 5.6.17-0+deb8u1(cli)(构建时间:2016年1月13日09:10:12) 我的最终结果应该是: website.com/chemistry/为所有化学音频文件提供RSS源Php 从服务器文件夹创建自动RSS源,php,rss,podcast,rss2,Php,Rss,Podcast,Rss2,我有一个安装了PHP的VPS web服务器,有几个文件夹,里面有学校的录音。我想为每个文件夹生成一个RSS提要,按字母顺序列出.mp3文件(因为它们包含像001 filename这样的数字前缀)。目前有没有可行的方法?我在网上找到了这两个脚本,但它们似乎都不适合我 N°2似乎是最简单的脚本,但如果我编辑变量并将其上载到适当的文件夹,它似乎不起作用。这是我导航到我的页面的结果: ?xml version=“1.0”?>0{$files[]['name']=$file;$files[]['tim
website.com/english/为所有英语音频文件提供RSS提要首先获取原始github脚本,将其保存到一个文件(扩展名为.php)并上传到您的服务器,以确保其按原样工作。我得到以下信息(在Chrome中)(我将网站名称更改为example.com,以便在此处发布):
我的音频提要
http://www.example.com/audio
某些服务器文件夹中“我的音频文件”的源
如果可行,请尝试将
替换为
。github的脚本包含混合了XML的php代码,并且您的输出表明出现了一些问题(语法问题,缺少),首先将原始github脚本保存到一个文件中(扩展名为.php)并将其上传到您的服务器,以确保其正常工作。我得到以下信息(在Chrome中)(我将网站名称更改为example.com,以便在此处发布):
我的音频提要
http://www.example.com/audio
某些服务器文件夹中“我的音频文件”的源
如果可以的话,试着用
替换
(语法问题,缺少替换中出现的php代码的每个开头替换中出现的php代码的每个开头摘要:
下面是我要做的事情,以使GitHub脚本工作
首先,您需要有适当的扩展。
第14行:$allowed\u ext=“.mp4.mp4.mp3.mp3”
确保第一个分机前面有一个
或一些字符(甚至可以是*
)
示例:$allowed\u ext=“.mp3”
发生的是strpos()检查文件扩展名的
是检查以确保mp3
在列表中并返回位置。如果前面没有
,则如果它是第一个扩展名且代码大于0,它将返回0,>0
,因此它将不返回任何结果,并且您将错过所有具有该扩展名的文件st扩展已列出
我做的第二件事是去掉区分大小写的文件扩展名。
第30行:$ext=strtoupper($path_info['extension']);
它会自动将扩展名设置为大写,因此扩展名列表中的“.mp3、.mp3”
是多余的,并且会忽略“mp3”
扩展名,因为它是小写的
这是我修订的第32行
。我强制$allowed\u ext
变量在strpos
中为大写,以匹配$ext
变量的脚本力
if($file !== '.' && $file !== '..' && !is_dir($file) && strpos(strtoupper($allowed_ext), $ext)>0)
摘要:
下面是我要做的事情,以使GitHub脚本工作
首先,您需要有适当的扩展。
第14行:$allowed\u ext=“.mp4.mp4.mp3.mp3”
确保第一个分机前面有一个
或一些字符(甚至可以是*
)
示例:$allowed\u ext=“.mp3”
发生的是strpos()检查文件扩展名的
是检查以确保mp3
在列表中并返回位置。如果前面没有
,则如果它是第一个扩展名且代码大于0,它将返回0,>0
,因此它将不返回任何结果,并且您将错过所有具有该扩展名的文件st扩展已列出
我做的第二件事是去掉区分大小写的文件扩展名。
第30行:$ext=strtoupper($path_info['extension']);
它会自动将扩展名设置为大写,因此扩展名列表中的“.mp3、.mp3”
是多余的,并且会忽略“mp3”
扩展名,因为它是小写的
这是我修订的第32行
。我强制$allowed\u ext
变量在strpos
中为大写,以匹配$ext
变量的脚本力
if($file !== '.' && $file !== '..' && !is_dir($file) && strpos(strtoupper($allowed_ext), $ext)>0)
我尝试以干净的方式上载它,但出现以下错误:0{$files[]['name']=$file;$files[]['timestamp']=filectime($file);}}}closedir($dir);//natcasesort($files);-我们将使用日期和时间对列表进行排序。对于($I=0;$I\n;“echo”\n;“echo”。$feedBaseURL.$files[$I]