目录
回复讨论(解决方案)
首页 后端开发 php教程 图片显示问题

图片显示问题

Jun 23, 2016 pm 01:16 PM
图片显示问题

我想实现一个功能 就是上传A,B,C三个文件,其中包含图片和视频文件。然后要在页面上把它们显示出来,因为图片能直接显示出来,但视频没办法显示出来,我想做的是如果是图片文件,就显示原图出来,如果是视频文件,就显示B图,有什么办法能够实现吗?
我自己想的是如果存成2进制那种1010的格式的话来进行判断可不可行?


回复讨论(解决方案)

我记得HTML有个标签是可以输出媒体资源的呀,这个标签就可以呀

视频也要存成 二进制????

我记得HTML有个标签是可以输出媒体资源的呀,这个标签就可以呀




主要现在在A,B,C中,有可能是1是图片,2是视频,3是图片,也有可能是1是视频,2和3是图片,也有可能全是图片,我得先判断他们哪个是视频,然后做个标记,有什么比较好的方法可以推荐吗?

视频也要存成 二进制????




不是视频要存成2进制,因为ABC,3个文件中,哪个是图片哪个是视频还是未知的,我想先把它们判断出来,例如如果是视频,那i=1,如果是图片,i=0,然后把i值存成一串,例如1001这样,一时想不起该怎么存成这样

$_FILES里会有上传文件的类型呀。。根据那个判断就可以了

$_FILES里会有上传文件的类型呀。。根据那个判断就可以了



知道是根据那个来判断,我觉得我应该问的是,比如3个文件,判断是视频为1,不是视频就为0,然后我应该怎么把它弄成一串,101 这样?

简单的办法就是存成JSON,文件类型或者是什么标志对应文件路径就可以了

简单的办法就是存成JSON,文件类型或者是什么标志对应文件路径就可以了




主要现在遇到的问题是,比如同时上传3个文件,3个文件的地址是用‘,’隔开然后放在数据库同一个字段里面的,所以需要弄一个字段分别相对应的存3个文件的文件类型

视频可以使用html5的video标签显示。

每个上传 给个根据不同类型返回值,ajax或后台累计起来,放session里,最后提交三个文件,总按钮,给后台,后台从session里取值 分别存数据库里。再清空session

没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊

没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊



文件获取到了,就是我在展示的时候,该怎么通过判断去用不同标签来展示,例如,图片用img标签,可是视频用img标签不能显示的啊。就是要解决这个问题

我把数据整理成这样 
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'的值,来选择不同的标签,然后在循环的时候好像没办法形成一一对应啊。。得怎么改呢?


没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊



文件获取到了,就是我在展示的时候,该怎么通过判断去用不同标签来展示,例如,图片用img标签,可是视频用img标签不能显示的啊。就是要解决这个问题

img_url和is_video2个数组的key是对应的,循环第一个数组,然后用key去第二数组取值就行
你这个问题的关键压根不是主楼描述的那些...



没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊



文件获取到了,就是我在展示的时候,该怎么通过判断去用不同标签来展示,例如,图片用img标签,可是视频用img标签不能显示的啊。就是要解决这个问题

img_url和is_video2个数组的key是对应的,循环第一个数组,然后用key去第二数组取值就行
你这个问题的关键压根不是主楼描述的那些...

哈哈哈 ,其实之前我遇到的问题是在想要怎么存进数据库判断,然后后来自己解决之后发现,读出来2个对等数组!在页面volist不了! 你说的那个方法可以volist对等数据的是吗 ?



没太看明白你的重点是什么,如果说只是上传+展示,文件类型既然能获取到,那么展示也应该没问题啊



文件获取到了,就是我在展示的时候,该怎么通过判断去用不同标签来展示,例如,图片用img标签,可是视频用img标签不能显示的啊。就是要解决这个问题

img_url和is_video2个数组的key是对应的,循环第一个数组,然后用key去第二数组取值就行
你这个问题的关键压根不是主楼描述的那些...

有没有大概示例一下?

你要这样组织数据,才能适应 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
      )
)





array (size=13)
  0 => 
    array (size=10)
      'id' => string '22' (length=2)
      'username' => string 'ceshi' (length=5)
      'contact' => string '12345678912' (length=11)
      'comments' => string '哈哈' (length=6)
      'address' => string '广东省' (length=36)
      'img_url' => string 'http://.../uploads/news/20160216/1455586975903.mov;http://.../uploads/news/20160216/1455586969431.mov;http://.../uploads/news/20160216/1455586952114.jpg' (length=212)
      'is_video' => string '1;1;0' (length=5)

我本来的那个数据格式得怎么变换成这样?我本来数据从数据库读出来后是这样的 

$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        ))
登录后复制
登录后复制



这个是不是如果一开始能用Jason格式放的话 就少了这些麻烦 ?

你把数据项连接成串进行保存,本身就是败笔

你把数据项连接成串进行保存,本身就是败笔



那我应该用什么方法存进去比较恰当?

三个 url,自然存为 3 个记录

三个 url,自然存为 3 个记录



然后存数据库的时候呢?就是3个url是同一个人所占有的,我该怎么处理?

当然要同时保存宿主标识啦

当然要同时保存宿主标识啦



那这样的话是不是就得弄2张表了,一张存内容,一张是存URL的?
因为一个人提交的还包含其他信息,我是想放在同一条记录。
还有就是,因为url里面有视频有图片,那在模板那里是不是就只能通过这种方法判断他们的文件类型来选择标签 ?

按照 数据库范式,应该是的

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1675
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
说明PHP中的安全密码散列(例如,password_hash,password_verify)。为什么不使用MD5或SHA1? 说明PHP中的安全密码散列(例如,password_hash,password_verify)。为什么不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型? PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型? Apr 17, 2025 am 12:25 AM

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP和Python:代码示例和比较 PHP和Python:代码示例和比较 Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

您如何防止PHP中的SQL注入? (准备的陈述,PDO) 您如何防止PHP中的SQL注入? (准备的陈述,PDO) Apr 15, 2025 am 12:15 AM

在PHP中使用预处理语句和PDO可以有效防范SQL注入攻击。1)使用PDO连接数据库并设置错误模式。2)通过prepare方法创建预处理语句,使用占位符和execute方法传递数据。3)处理查询结果并确保代码的安全性和性能。

PHP:处理数据库和服务器端逻辑 PHP:处理数据库和服务器端逻辑 Apr 15, 2025 am 12:15 AM

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

PHP的目的:构建动态网站 PHP的目的:构建动态网站 Apr 15, 2025 am 12:18 AM

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

在PHP和Python之间进行选择:指南 在PHP和Python之间进行选择:指南 Apr 18, 2025 am 12:24 AM

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

See all articles