Posts tagged ‘php’

简单的PHP应用,拼接Picasa和Youtube

现代人还是很幸福的啊… 从3岁小孩到百岁老人都有电脑玩… 我的一个老年人朋友最近就有一个需求,就是给Picasa的Photo Slideshow配乐。其实是很简单的事情,但是如果全盘都让老先生写iframe的代码,是不是有些残酷了呢… 所以我就做了一个小php应用给他。

程序的目标:

通过输入Picasa的slideshow地址,和youtube的地址,来自动生成一个用iframe组合好的,可以自动播放音乐的网页

程序内容文件:

1. index.html

2. save.php

3. show.php

数据库结构

CREATE TABLE IF NOT EXISTS `main` (
  `idx` INT(11) NOT NULL AUTO_INCREMENT,
  `picasa` text NOT NULL,
  `youtube` text NOT NULL,
  PRIMARY KEY (`idx`)
)

index.html文件结构:

<form action="save.php" method="post">
Picasa address :
<input name="picasa" type="text" />
Youtube address:
<input name="youtube" type="text" />
<input type="submit" value="Submit" />
</form>

非常简单的结构,两个输入框,一个提交按钮,使用post,到php

save.php文件结构:

//数据库连接信息
$username="zetadba";
$password="qwe123123";
$database="zeta";
 
//连接数据库服务器
mysql_connect("localhost",$username,$password);
 
//选择数据库
mysql_select_db($database);
 
//写一个SQL查询语句, 保存从index.html POST过来的数据到数据库
$query = "INSERT INTO main (picasa,youtube) VALUES('".$_POST["picasa"]."','".$_POST["youtube"]."')";
 
//执行SQL语句
mysql_query($query);
 
//debug mysql的错误,之前很多错误... sql那些东西都快忘光了...
echo mysql_error();
 
//查询刚刚存进去的条目的主键数值,用来给show.php来用
$query2 = "SELECT * FROM main ORDER BY idx DESC LIMIT 1";
 
//得到数值sql结果
$result2 = mysql_query($query2);
 
//得到我们想要的主键idx的值
$videoidx = mysql_result($result2, 0, "idx");
 
//关闭... sql
mysql_close();
 
将这个页面自动跳给show.php,这样我的老年朋友就可以直接拷贝走这个URL了
header('Refresh: 3; url=show.php?vv='.$videoidx);

show.php文件结构

 
//不解释了...
$username="zetadba";
$password="qwe123123";
$database="zeta";
 
mysql_connect("localhost",$username,$password);
 
mysql_select_db($database);
 
//这里是直接用的URL数值传递,所以我们GET这个vv值
$query = "SELECT * FROM main WHERE idx='".$_GET["vv"]."'";
 
$result = mysql_query($query);
 
//没写html文件头,所以写个这个当title...
echo "Picasa+Youtube";
 
$picasa = mysql_result($result, 0, "picasa");
$youtube = mysql_result($result, 0, "youtube");
 
//我们需要解析得到的youtube后面的url结构,得到video id
//比如http://www.youtube.com/watch?v=puSkP3uym5k&#038;list=FLV8tlMnzjrbiS7YLh8FAtPQ&#038;index=10&#038;feature=plpp_video
//中的puSkP3uym5k
$parsedurl = parse_url($youtube);
 
$videourlquery = $parsedurl['query'];
 
parse_str($videourlquery);
 
//经过以上的各种解析,我们最后得到了其中的v的值
$videoid = $parsedurlquery['v'];
 
//输出html结构
echo "<iframe width='99%' height='99%' border=0 src="".$picasa."" mce_src="&quot;.$picasa.&quot;"-->";
echo '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="10" height="10" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/'.$v.'?version=3&amp;hl=zh_CN&amp;autoplay=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="10" height="10" src="http://www.youtube.com/v/'.$v.'?version=3&amp;hl=zh_CN&amp;autoplay=1" allowfullscreen="true"></embed></object>';
 
echo mysql_error();
 
mysql_close();

以上!大功告成,一个小小的给老人的礼物,让他们做出这个东西,然后送给朋友,当一个小礼物!

iPhone:Javascript/PHP检测iPhone/iPod/iPad

PHP的比较简单可爱:

	if (strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"))  
	{ 
		echo '在用户代理信息里面如果有iPhone, 执行您的代码'; 
		//别忘了给iPod和iPad也加上去当条件阿~~
	}

javascript的也不错,不过我一直不喜欢浪费太多的iPhone资源,不过这回佛典的html文件还是需要使用javascript,因为所有的xml文件都是简单的转换成html,如果再将php搀和进来就很麻烦了

	if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) 
	{ 
		document.write(navigator.userAgent);
	}
	else
	{
		document.write(navigator.userAgent);
	}

我们可以看一下上面代码的输出:
如果是一台Mac:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4

如果是一台iPhone:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9(KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

其实就是找到agent中的典型信息,iPhone这个关键字了.

南无阿弥陀佛 南无本师释迦牟尼佛 南无药师琉璃光如来

收藏:魔兽3录像PHP解析器

曾几何时想弄一个类似Replay.net的某语言网站,但是我这人太孤单了,找不到合作伙伴阿… 算了,说正事

Warcraft III Replay Parser for PHP 是一个非常棒的w3录像文件解析器,如果你想使用服务器解析任何上传的replay文件的地图信息,比赛对手,等等等等所有的内容都是可访问的

http://w3rep.sourceforge.net/  有空看看!

w3g-julas-2.3 假使有一天那网站沉了,我这有备份!源文件的注释非常棒,大家要好好看看

慢慢肯定恢复iphone开发的话题,最近太忙太累了,身累心也累

分享:用php分析用户的本地语言

php_language_detection.php 是我在techpatterns.com上找到的分析用户浏览器和本地语言的函数代码。使用简单方便,一下是我结合跳转来对不同语言的访客作不同网页的定向:

include('php_language_detection.php');
$userLanguage = get_languages('data');
//只需要用get_languages()就可以得到一个array,包含各种格式的语言代码,
//具体可以打开php_language_detection.php查看。中文是“zh”,包含了各种
//中文用户。
{
	if($userLanguage[0][1] == "zh")
	{
		echo "自动跳转中... ...";
		echo "<script type=‘text/javascript’>";
		echo " location='http://c.gzl.name';";
		echo "</script>";
	}
	else
	{
		echo "Loading... ...";
		echo "<script type=‘text/javascript’>";
		echo " location='http://c.gzl.name';"; //英文站还没有做,所以全定向到这了
		echo "</script>";
	}
}

以下是改函数的网站,点“Download PHP Language Detection Script ”下载
PHP Language Detection

学/用/体验:php跳转

P 转自互联网(这个被转来转去也不知道谁第一个列出得三种方法了)

方法 1:使用PHP自带函数

Header("Location:网址");

说明:必须在网页没有任何输出的时候执行,要特别要注意空格。
注:Firefox对于这种方法的兼容性非常好,速度也很快。但是Safari和IE似乎不是很好用。

方法 2:利用meta

echo "<meta http-equiv=refresh content='0; url=网址'>";

说明:没有方法一的限制,但是如果前面有输出,则输出的内容会闪烁一下然后进入跳转到的页面。
注:同方法1,似乎兼容性不是很好。

方法 3:利用Javascript语言

echo "<script language='javascript'>";
echo " location='网址';";
echo "</script>";

注:这种方法还是不错的,只要用户的Javascript是开着的就不会有问题啦~