PHP怎么读取php所在文件夹下的图片和mp3文件,并且显示出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP怎么读取php所在文件夹下的图片和mp3文件,并且显示出来相关的知识,希望对你有一定的参考价值。

<?php
$dir = "./"; //要获取的目录
echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";
//先判断指定的路径是不是一个文件夹
if (is_dir($dir))
if ($dh = opendir($dir))
while (($file = readdir($dh))!= false)
//文件名的全路径 包含文件名
$filePath = $dir.$file;
echo "<img src='".$filePath."'/>";

closedir($dh);


?>

我查资料这样只能显示图片,有没办法显示mp3文件也显示出来,并且可以分页

参考技术A <?php
$dir = "./"; //要获取的目录
echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";
//先判断指定的路径是不是一个文件夹
if (is_dir($dir))
    if ($dh = opendir($dir))
        while (($file = readdir($dh))!= false)
        if( getFileType($file) == "mp3" )
            echo "mp3格式";
        
        if( getFileType($file) == "jpg" || getFileType($file) == "png" || getFileType($file) == "gif")
            echo "图片格式";
        
        closedir($dh);
    

function getFileType($filename) 
   return strtolower(pathinfo($filename)['extension']);

?>

追问

提示500错误怎么回事

追答$dir = "./"; //要获取的目录
echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";
//先判断指定的路径是不是一个文件夹
if (is_dir($dir)) 
    if ($dh = opendir($dir)) 
        while (($file = readdir($dh)) != false) 
            if (getFileType($file) == "mp3") 
                echo "mp3格式";
            
            if (getFileType($file) == "jpg" || getFileType($file) == "png" || getFileType($file) == "gif") 
                echo "图片格式";
            
            closedir($dh);
        
    



function getFileType($filename) 
    $pathinfo = pathinfo($filename);
    return strtolower($pathinfo['extension']);

括号问题,我在线编写的。重新修改了

你要在php.ini,把错误提示开启

追问

没错误了,可是不显示文件名称,图片也没有显示,你那边调试好再发上来

参考技术B

显示本文件夹下的A.JPG的语句:

echo "<img src='a.jpg' />";

可能你已经明白了,其实PHP输出的是html代码,PHP无需具体读取文件内容,也无法在客户的浏览器上绘图,这一切只有交给浏览器去实现。

追问

要的不是这个

是否可以使用 ffmpeg 在 php 中读取 mp3 id3 标签?如果是这样,那怎么办? [关闭]

【中文标题】是否可以使用 ffmpeg 在 php 中读取 mp3 id3 标签?如果是这样,那怎么办? [关闭]【英文标题】:is it possible to read mp3 id3 tags in php using ffmpeg? if so then how? [closed] 【发布时间】:2016-02-03 00:24:33 【问题描述】:

您好,我的服务器中有一些 mp3 文件不断变化,我需要 mp3 id3 标签让人们知道当前正在播放什么歌曲,最好是通过 php。我在这方面完全是菜鸟,所以任何帮助都会有所帮助。

【问题讨论】:

【参考方案1】:

虽然有多种可能性,但我一直很喜欢使用管道。 ffprobe 应该包含在 ffmpeg 中。

<?php
$output = shell_exec("ffprobe -print_format json -show_entries stream=codec_name:format -select_streams a:0 -v quiet test.mp3");
echo "<pre>$output</pre>";
?>

输出:

“程式”: [ ], “流”:[ “编解码器名称”:“mp3” ], “格式”: “文件名”:“test.mp3”, “nb_streams”:1, “nb_programs”:0, “格式名称”:“mp3”, "format_long_name": "MP2/3 (MPEG 音频层 2/3)", “开始时间”:“0.000000”, “持续时间”:“303.755813”, “尺寸”:“9721021”, “比特率”:“256021”, “probe_score”:51, “标签”: "title": "家的照片", “艺术家”:“深紫色”, "专辑": "机头", “日期”:“1972”, “轨道”:“3”, “流派”:“摇滚”

使用 json_decode 将其转换为关联数组。

【讨论】:

问题伙伴.. $output = shell_exec("ffprobe -print_format json -show_entries stream=codec_name:format -select_streams a:0 -v quiet test.mp3");这里的 test.mp3 可以是一个 url 吗?还是必须是本地目录地址? $output = shell_exec("ffprobe -print_format json -show_entries stream=codec_name:format -select_streams a:0 -v quiet 'mp3.stream.tb-group.fm/tb.mp3?'"); 似乎有效。 酷很快就会尝试一下 :) 非常感谢 ^_^

以上是关于PHP怎么读取php所在文件夹下的图片和mp3文件,并且显示出来的主要内容,如果未能解决你的问题,请参考以下文章

在php中, 如何动态读取目录文件夹下的图片?

PHP 简易读取文件目录下的文件,生成css spirte图片

PHP下载mp3文件, 图片等到本地

php 怎么把上传的图片路劲存到mysql数据库,然后再在页面读取出来?

表单提交音乐文件(php)

php遍历输出文件夹内包含指定关键字图片