Inhaltsverzeichnis
回复讨论(解决方案)

图片显示问题

Jun 23, 2016 pm 01:16 PM
Problem mit der Bildanzeige

我想实现一个功能 就是上传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);
Nach dem Login kopieren
Nach dem Login kopieren
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        ))
Nach dem Login kopieren
Nach dem Login kopieren

$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);
Nach dem Login kopieren
Nach dem Login kopieren
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        ))
Nach dem Login kopieren
Nach dem Login kopieren



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

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

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



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

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

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



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

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

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



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

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Apr 06, 2025 am 12:02 AM

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Wie debugge ich den CLI -Modus in PhpStorm? Wie debugge ich den CLI -Modus in PhpStorm? Apr 01, 2025 pm 02:57 PM

Wie debugge ich den CLI -Modus in PhpStorm? Bei der Entwicklung mit PHPSTORM müssen wir manchmal den PHP im CLI -Modus (COMS -Zeilenschnittstellen) debuggen ...

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Was sind Aufzählungen (Enums) in PHP 8.1? Was sind Aufzählungen (Enums) in PHP 8.1? Apr 03, 2025 am 12:05 AM

Die Aufzählungsfunktion in Php8.1 verbessert die Klarheit und Type des Codes, indem benannte Konstanten definiert werden. 1) Aufzählungen können Ganzzahlen, Zeichenfolgen oder Objekte sein, die die Lesbarkeit der Code und die Type der Type verbessern. 2) Die Aufzählung basiert auf der Klasse und unterstützt objektorientierte Merkmale wie Traversal und Reflexion. 3) Die Aufzählung kann zum Vergleich und zur Zuordnung verwendet werden, um die Sicherheit der Typ zu gewährleisten. 4) Aufzählung unterstützt das Hinzufügen von Methoden zur Implementierung einer komplexen Logik. 5) Strenge Typ Überprüfung und Fehlerbehandlung können häufig auftretende Fehler vermeiden. 6) Die Aufzählung verringert den magischen Wert und verbessert die Wartbarkeit, achten Sie jedoch auf die Leistungsoptimierung.

See all articles