Maison >développement back-end >tutoriel php >图片显示问题
我想实现一个功能 就是上传A,B,C三个文件,其中包含图片和视频文件。然后要在页面上把它们显示出来,因为图片能直接显示出来,但视频没办法显示出来,我想做的是如果是图片文件,就显示原图出来,如果是视频文件,就显示B图,有什么办法能够实现吗?
我自己想的是如果存成2进制那种1010的格式的话来进行判断可不可行?
我记得HTML有个标签是可以输出媒体资源的呀,
视频也要存成 二进制????
我记得HTML有个标签是可以输出媒体资源的呀,
视频也要存成 二进制????
$_FILES里会有上传文件的类型呀。。根据那个判断就可以了
$_FILES里会有上传文件的类型呀。。根据那个判断就可以了
简单的办法就是存成JSON,文件类型或者是什么标志对应文件路径就可以了
简单的办法就是存成JSON,文件类型或者是什么标志对应文件路径就可以了
视频可以使用html5的video标签显示。
每个上传 给个根据不同类型返回值,ajax或后台累计起来,放session里,最后提交三个文件,总按钮,给后台,后台从session里取值 分别存数据库里。再清空session
没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊
没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊
我把数据整理成这样
array (size=13)
0 =>
array (size=2)
'img_url' =>
array (size=3)
0 => string 'http://.../uploads/news/20160216/1455586975903.mov' (length=70)
1 => string 'http://.../uploads/news/20160216/1455586969431.mov' (length=70)
2 => string 'http://.../uploads/news/20160216/1455586952114.jpg' (length=70)
'is_video' =>
array (size=3)
0 => string '1' (length=1)
1 => string '1' (length=1)
2 => string '0' (length=1)
想着在页面进行volist循环,通过判断 'is_video'的值,来选择不同的标签,然后在循环的时候好像没办法形成一一对应啊。。得怎么改呢?
没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊
没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊
没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊
你要这样组织数据,才能适应 volist 的要求
array (
array (
'img_url' => 'http://.../uploads/news/20160216/1455586975903.mov',
'is_video' => 1
)
array (
'img_url' => 'http://.../uploads/news/20160216/1455586969431.mov',
'is_video' => 1
),
array (
'img_url' => 'http://.../uploads/news/20160216/1455586952114.jpg',
'is_video' => 0
)
)
你要这样组织数据,才能适应 volist 的要求
array (
array (
'img_url' => 'http://.../uploads/news/20160216/1455586975903.mov',
'is_video' => 1
)
array (
'img_url' => 'http://.../uploads/news/20160216/1455586969431.mov',
'is_video' => 1
),
array (
'img_url' => 'http://.../uploads/news/20160216/1455586952114.jpg',
'is_video' => 0
)
)
$a = array( 'img_url' => 'http://.../uploads/news/20160216/1455586975903.mov;http://.../uploads/news/20160216/1455586969431.mov;http://.../uploads/news/20160216/1455586952114.jpg', 'is_video' => '1;1;0',);foreach(array_map(null, explode(';', $a['img_url']), explode(';', $a['is_video'])) as $v) { $b[] = array_combine(array('img_url', 'is_video'), $v);}print_r($b);
Array( [0] => Array ( [img_url] => http://.../uploads/news/20160216/1455586975903.mov [is_video] => 1 ) [1] => Array ( [img_url] => http://.../uploads/news/20160216/1455586969431.mov [is_video] => 1 ) [2] => Array ( [img_url] => http://.../uploads/news/20160216/1455586952114.jpg [is_video] => 0 ))
$a = array( 'img_url' => 'http://.../uploads/news/20160216/1455586975903.mov;http://.../uploads/news/20160216/1455586969431.mov;http://.../uploads/news/20160216/1455586952114.jpg', 'is_video' => '1;1;0',);foreach(array_map(null, explode(';', $a['img_url']), explode(';', $a['is_video'])) as $v) { $b[] = array_combine(array('img_url', 'is_video'), $v);}print_r($b);
Array( [0] => Array ( [img_url] => http://.../uploads/news/20160216/1455586975903.mov [is_video] => 1 ) [1] => Array ( [img_url] => http://.../uploads/news/20160216/1455586969431.mov [is_video] => 1 ) [2] => Array ( [img_url] => http://.../uploads/news/20160216/1455586952114.jpg [is_video] => 0 ))
你把数据项连接成串进行保存,本身就是败笔
你把数据项连接成串进行保存,本身就是败笔
三个 url,自然存为 3 个记录
三个 url,自然存为 3 个记录
当然要同时保存宿主标识啦
当然要同时保存宿主标识啦
按照 数据库范式,应该是的