使用 PHP 将 Flash 对象插入 MySql

问题描述 投票:0回答:3

我为此伤透了脑筋。

我正在尝试插入可嵌入的视频代码,例如 youtube/viddler/等..它们都以对象标签开头:

<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Ahg6qcgoay4?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Ahg6qcgoay4?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

使用 PHP 进入 MySQL。我查遍了互联网,但没有任何可靠的方法可以实现这一点。有谁知道如何将该代码成功插入数据库作为 $video 的值?

更新:我想出了如何存储它,但现在,我尝试在 php 中调用它,但只能返回文本值,基本上,整个嵌入代码作为文本显示,而不是视频本身。这是我显示文本的显示代码。我怎样才能让它显示实际的视频?

<?php
    //assuming a connection to the database exists
$sql = "SELECT * FROM table";
$result = mysql_query( $sql );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
    $html = array();  //create an array of html formated values.
    $html['video'] = nl2br( stripslashes( htmlentities( $row['video'], ENT_QUOTES, 'UTF-8' ) ) );
    echo "Video:<br />{$html['video']}<hr />";
}   ?>

更新: 这是嵌入代码在数据库中的样子:

<object width=\"450\" height=\"380\"><param name=\"movie\" value=\"http://www.youtube.com/v/Z5j3CORfxmw&hl=en_US&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/Z5j3CORfxmw&hl=en_US&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"450\" height=\"380\"></embed></object>

其上方的 php 代码提取此数据,没有斜杠,并将嵌入代码完美地显示为文本,但实际的视频并不是由此形成的。有没有办法让显示的代码充当代码并显示视频而不是文本?

php mysql flash youtube embed
3个回答
0
投票

为什么要这样做,为什么不简单地保存各种参数值并在 PHP 脚本中重新创建嵌入代码?

这将更加灵活且面向未来。例如,让我们想象一下,明年嵌入代码格式发生更改,您必须完全修改数据库记录,而不是更新单个脚本。

//Assuming that you have saved a JSON string in Mysql
$video = json_decode($video_data);

<object width="<? = $video->width;>" height="<? = $video->height;>">
   <param name="movie"    
          value="<? = $video->url;>"></param>
   <param name="allowFullScreen" 
          value="true"></param>
   <param name="allowscriptaccess" 
          value="always"></param>
   <embed src="<? = $video->url;>" 
          type="application/x-shockwave-flash" 
          allowscriptaccess="always" 
          allowfullscreen="true" 
          width="<? = $video->width;>" height="<? = $video->height;>"></embed>
 </object>

0
投票

在数据库中插入此字符串应该与插入任何其他字符串没有什么不同。只需使用准备好的语句或正确转义字符串即可。但是,当将该字符串嵌入到页面上时,请勿对其进行转义,因为它包含原始 HTML 代码。

在这种情况下,您似乎可以简单地保留视频 ID

Ahg6qcgoay4
,因为无论视频如何,嵌入代码本身都应该相同。


0
投票
$var = embed code

echo htmlspecialchars_decode($var);
© www.soinside.com 2019 - 2024. All rights reserved.