搜索
首页后端开发php教程图片显示问题

我想实现一个功能 就是上传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
PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型?PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型?Apr 17, 2025 am 12:25 AM

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

PHP如何处理对象克隆(克隆关键字)和__clone魔法方法?PHP如何处理对象克隆(克隆关键字)和__clone魔法方法?Apr 17, 2025 am 12:24 AM

PHP中使用clone关键字创建对象副本,并通过\_\_clone魔法方法定制克隆行为。1.使用clone关键字进行浅拷贝,克隆对象的属性但不克隆对象属性内的对象。2.通过\_\_clone方法可以深拷贝嵌套对象,避免浅拷贝问题。3.注意避免克隆中的循环引用和性能问题,优化克隆操作以提高效率。

PHP与Python:用例和应用程序PHP与Python:用例和应用程序Apr 17, 2025 am 12:23 AM

PHP适用于Web开发和内容管理系统,Python适合数据科学、机器学习和自动化脚本。1.PHP在构建快速、可扩展的网站和应用程序方面表现出色,常用于WordPress等CMS。2.Python在数据科学和机器学习领域表现卓越,拥有丰富的库如NumPy和TensorFlow。

描述不同的HTTP缓存标头(例如,Cache-Control,ETAG,最后修饰)。描述不同的HTTP缓存标头(例如,Cache-Control,ETAG,最后修饰)。Apr 17, 2025 am 12:22 AM

HTTP缓存头的关键玩家包括Cache-Control、ETag和Last-Modified。1.Cache-Control用于控制缓存策略,示例:Cache-Control:max-age=3600,public。2.ETag通过唯一标识符验证资源变化,示例:ETag:"686897696a7c876b7e"。3.Last-Modified指示资源最后修改时间,示例:Last-Modified:Wed,21Oct201507:28:00GMT。

说明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 16, 2025 am 12:18 AM

PHP是一种服务器端脚本语言,用于动态网页开发和服务器端应用程序。1.PHP是一种解释型语言,无需编译,适合快速开发。2.PHP代码嵌入HTML中,易于网页开发。3.PHP处理服务器端逻辑,生成HTML输出,支持用户交互和数据处理。4.PHP可与数据库交互,处理表单提交,执行服务器端任务。

PHP和网络:探索其长期影响PHP和网络:探索其长期影响Apr 16, 2025 am 12:17 AM

PHP在过去几十年中塑造了网络,并将继续在Web开发中扮演重要角色。1)PHP起源于1994年,因其易用性和与MySQL的无缝集成成为开发者首选。2)其核心功能包括生成动态内容和与数据库的集成,使得网站能够实时更新和个性化展示。3)PHP的广泛应用和生态系统推动了其长期影响,但也面临版本更新和安全性挑战。4)近年来的性能改进,如PHP7的发布,使其能与现代语言竞争。5)未来,PHP需应对容器化、微服务等新挑战,但其灵活性和活跃社区使其具备适应能力。

为什么要使用PHP?解释的优点和好处为什么要使用PHP?解释的优点和好处Apr 16, 2025 am 12:16 AM

PHP的核心优势包括易于学习、强大的web开发支持、丰富的库和框架、高性能和可扩展性、跨平台兼容性以及成本效益高。1)易于学习和使用,适合初学者;2)与web服务器集成好,支持多种数据库;3)拥有如Laravel等强大框架;4)通过优化可实现高性能;5)支持多种操作系统;6)开源,降低开发成本。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

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