当前位置: 编程技术>php
本页文章导读:
▪自动识别浏览器语言进行中英文切换(php与Js版) 1,基于php的方法:
代码示例:
<?php
error_reporting(E_ALL ^ E_NOTICE);
// 分析 HTTP_ACCEPT_LANGUAGE 的属性
// 这里只取第一语言设置 (其他可根据需要增强功能)
.........
▪php 根据请求生成缩略图片保存到Linux图片服务器的代码 这个功能,有点类似图片站点分离的操作,就是将图片单独架设在一台服务器上,有兴趣的朋友,好好研究下吧。
代码如下:
代码示例:
<?php
/**
* 缩略图片 Linux图片服务器
* edit www.........
▪php做下载文件的方法 代码如下:
代码示例:
<?php
//文件下载
//by www.
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=ins.jpg");
readfile("imgs/test_Zoom.jpg");
?>
代码解释:
第一行.........
[1]自动识别浏览器语言进行中英文切换(php与Js版)
来源: 互联网 发布时间: 2013-12-24
1,基于php的方法:
代码示例:
<?php
error_reporting(E_ALL ^ E_NOTICE);
// 分析 HTTP_ACCEPT_LANGUAGE 的属性
// 这里只取第一语言设置 (其他可根据需要增强功能)
//搜索整理 www.
preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$lang = $matches[1];
switch ($lang) {
case 'zh-cn' :
header('Location: http://cn./');
break;
case 'zh-tw' :
header('Location: http://tw./');
break;
case 'ko' :
header('Location: http://ko./');
break;
default:
header('Location: http://en./');
break;
}
?>
error_reporting(E_ALL ^ E_NOTICE);
// 分析 HTTP_ACCEPT_LANGUAGE 的属性
// 这里只取第一语言设置 (其他可根据需要增强功能)
//搜索整理 www.
preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$lang = $matches[1];
switch ($lang) {
case 'zh-cn' :
header('Location: http://cn./');
break;
case 'zh-tw' :
header('Location: http://tw./');
break;
case 'ko' :
header('Location: http://ko./');
break;
default:
header('Location: http://en./');
break;
}
?>
2,基于JS的方法:
代码示例:
<SCRIPT LANGUAGE="JavaScript1.2">
<!--//
if (navigator.appName == ''Netscape'')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf(''en'') > -1) document.location.href = ''english.htm'';
else if (language.indexOf(''zh'') > -1) document.location.href = ''chinese.htm'';
else
document.location.href = ''english.htm'';
// End -->
</script>
<!--//
if (navigator.appName == ''Netscape'')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf(''en'') > -1) document.location.href = ''english.htm'';
else if (language.indexOf(''zh'') > -1) document.location.href = ''chinese.htm'';
else
document.location.href = ''english.htm'';
// End -->
</script>
有兴趣的朋友,分别进行下测试吧,看看哪个更好用哦。
[2]php 根据请求生成缩略图片保存到Linux图片服务器的代码
来源: 互联网 发布时间: 2013-12-24
这个功能,有点类似图片站点分离的操作,就是将图片单独架设在一台服务器上,有兴趣的朋友,好好研究下吧。
代码如下:
代码示例:
<?php
/**
* 缩略图片 Linux图片服务器
* edit www.
*/
$picID=$_GET['imgID'];
$picTypes=".".$_GET['imgType'];
$picWidth=$_GET['ImgWidth'];
if($picID!="")
{
//请求的是小图
if($picWidth>0){
//如果小图存在
if(file_exists($picID."_".$picWidth.$picTypes))
{
outputImg($picID."_".$picWidth.$picTypes);
}else
{
if(file_exists($picID."_0".$picTypes)){
//如果不存在小图直接生成小图
resizeImg($picID."_0".$picTypes,$picWidth,$picWidth,$picID."_".$picWidth.$picTypes);
//输出
outputImg($picID."_".$picWidth.$picTypes);
}else
{
//如果大图不存在
resizeImg('noDefaultImage.gif',$picWidth,$picWidth,noDefaultImage."_".$picWidth.".gif");
//输出
outputImg($picID."_".$picWidth.$picTypes);
}
}
}
//判断文件是否存在大图
if(file_exists($picID."_0".$picTypes))
{
$img_file = $picID."_0".$picTypes;
outputImg($img_file);
}
else
{
//如果不存在图片
$img_file = 'noDefaultImage.gif';
outputImg($img_file);
}
}
//输出图片
function outputImg($img_file)
{
$fp = fopen($img_file, 'rb');
$content = fread($fp, filesize($img_file)); //二进制数据
fclose($fp);
header('Content-Type: image/gif');
echo $content;
}
/**
* 生成缩略图
* $srcName----为原图片路径
* $newWidth,$newHeight----分别缩略图的最大宽,高
* $newName----为缩略图文件名(含路径)
* @param string $srcName
* @param int $newWidth
* @param int $newHeight
* @param string $newName
* return viod
*/
function resizeImg($srcName,$newWidth,$newHeight,$newName="")
{
if($newName=="")
{
$nameArr=explode()('.',$srcName);
$expName=array_pop($nameArr);
$expName=$expName;
array_push($nameArr,$expName);
$newName = implode('.',$nameArr);
}
$info = "";
$data = getimagesize($srcName,$info);
switch ($data[2])
{
case 1:
if(!function_exists("imagecreatefromgif")){
echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回";
exit();
}
$im = ImageCreateFromGIF($srcName);
break;
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回";
exit();
}
$im = ImageCreateFromJpeg($srcName);
break;
case 3:
$im = ImageCreateFromPNG($srcName);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$newWidthH=$newWidth/$newHeight;
$srcWH=$srcW/$srcH;
if($newWidthH<=$srcWH){
$ftoW=$newWidth;
$ftoH=$ftoW*($srcH/$srcW);
}
else{
$ftoH=$newHeight;
$ftoW=$ftoH*($srcW/$srcH);
}
if($srcW>$newWidth||$srcH>$newHeight)
{
if(function_exists("imagecreatetruecolor"))
{
@$ni = ImageCreateTrueColor($ftoW,$ftoH);
if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
else
{
$ni=ImageCreate($ftoW,$ftoH);
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
}
else
{
$ni=ImageCreate($ftoW,$ftoH);
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
if(function_exists('imagejpeg')) ImageJpeg($ni,$newName);
else ImagePNG($ni,$newName);
ImageDestroy($ni);
}
ImageDestroy($im);
}
?>
/**
* 缩略图片 Linux图片服务器
* edit www.
*/
$picID=$_GET['imgID'];
$picTypes=".".$_GET['imgType'];
$picWidth=$_GET['ImgWidth'];
if($picID!="")
{
//请求的是小图
if($picWidth>0){
//如果小图存在
if(file_exists($picID."_".$picWidth.$picTypes))
{
outputImg($picID."_".$picWidth.$picTypes);
}else
{
if(file_exists($picID."_0".$picTypes)){
//如果不存在小图直接生成小图
resizeImg($picID."_0".$picTypes,$picWidth,$picWidth,$picID."_".$picWidth.$picTypes);
//输出
outputImg($picID."_".$picWidth.$picTypes);
}else
{
//如果大图不存在
resizeImg('noDefaultImage.gif',$picWidth,$picWidth,noDefaultImage."_".$picWidth.".gif");
//输出
outputImg($picID."_".$picWidth.$picTypes);
}
}
}
//判断文件是否存在大图
if(file_exists($picID."_0".$picTypes))
{
$img_file = $picID."_0".$picTypes;
outputImg($img_file);
}
else
{
//如果不存在图片
$img_file = 'noDefaultImage.gif';
outputImg($img_file);
}
}
//输出图片
function outputImg($img_file)
{
$fp = fopen($img_file, 'rb');
$content = fread($fp, filesize($img_file)); //二进制数据
fclose($fp);
header('Content-Type: image/gif');
echo $content;
}
/**
* 生成缩略图
* $srcName----为原图片路径
* $newWidth,$newHeight----分别缩略图的最大宽,高
* $newName----为缩略图文件名(含路径)
* @param string $srcName
* @param int $newWidth
* @param int $newHeight
* @param string $newName
* return viod
*/
function resizeImg($srcName,$newWidth,$newHeight,$newName="")
{
if($newName=="")
{
$nameArr=explode()('.',$srcName);
$expName=array_pop($nameArr);
$expName=$expName;
array_push($nameArr,$expName);
$newName = implode('.',$nameArr);
}
$info = "";
$data = getimagesize($srcName,$info);
switch ($data[2])
{
case 1:
if(!function_exists("imagecreatefromgif")){
echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回";
exit();
}
$im = ImageCreateFromGIF($srcName);
break;
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回";
exit();
}
$im = ImageCreateFromJpeg($srcName);
break;
case 3:
$im = ImageCreateFromPNG($srcName);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$newWidthH=$newWidth/$newHeight;
$srcWH=$srcW/$srcH;
if($newWidthH<=$srcWH){
$ftoW=$newWidth;
$ftoH=$ftoW*($srcH/$srcW);
}
else{
$ftoH=$newHeight;
$ftoW=$ftoH*($srcW/$srcH);
}
if($srcW>$newWidth||$srcH>$newHeight)
{
if(function_exists("imagecreatetruecolor"))
{
@$ni = ImageCreateTrueColor($ftoW,$ftoH);
if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
else
{
$ni=ImageCreate($ftoW,$ftoH);
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
}
else
{
$ni=ImageCreate($ftoW,$ftoH);
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
if(function_exists('imagejpeg')) ImageJpeg($ni,$newName);
else ImagePNG($ni,$newName);
ImageDestroy($ni);
}
ImageDestroy($im);
}
?>
[3]php做下载文件的方法
来源: 互联网 发布时间: 2013-12-24
代码如下:
代码示例:
<?php
//文件下载
//by www.
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=ins.jpg");
readfile("imgs/test_Zoom.jpg");
?>
//文件下载
//by www.
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=ins.jpg");
readfile("imgs/test_Zoom.jpg");
?>
代码解释:
第一行代码是强制下载;
第二行代码是给下载的内容指定一个名字;
第三行代码是把下载的内容读进文件中。
更多内容,请参考如下文章:
php 文件下载类(header头信息的应用实例)
php header 使用详解
php header函数 文件下载时直接提示保存的代码
php header函数实现文本文件下载的方法
php header头信息应用举例
php 文件头部(header)信息详解
php使用header函数设置各种HTTP头的例子
php使用header发送各种类型文件下载的例子
PHP中HEADER头消息详解
最新技术文章: