当前位置:  编程技术>php
本页文章导读:
    ▪php生成0-9,a-z所有的两位数(数字、字母)组合的例子      本节介绍一段php代码,实现输出由数字和字母组成的任意两位数。 思路分析: 若限定是两位数的话,要考虑下是否要求首位不为0,如果允许首位为零,就是36 * 36,即求全排列。 第一位有36.........
    ▪php接收二进制文件转换成图片的方法分享      php开发Flash在线裁剪图片生成图片的程序,通过Flash POST 图片的二进制数据给php,由php生成图片保存。 用$_POST接收数据是不行的,PHP默认只识别application/x-www.form-urlencoded标准的数据类型。 因.........
    ▪php九宫格日志实现代码      php实现九宫格的页面,只有一个页面在展示,但是里面的内容很多, 要求可以选择背景、天气、表情,最后生成图片格式. 思路: 1、首先,要掌握php图片处理知识。 2、其次,要掌握Php水印相.........

[1]php生成0-9,a-z所有的两位数(数字、字母)组合的例子
    来源: 互联网  发布时间: 2013-12-24

本节介绍一段php代码,实现输出由数字和字母组成的任意两位数。

思路分析:
若限定是两位数的话,要考虑下是否要求首位不为0,如果允许首位为零,就是36 * 36,即求全排列。
第一位有36种情况,第二位同样有36种情况。
答案便是:
第一位的36种情况乘以第二位的36种情况=>36 * 36。

若不允许首位为零,第一位则为35种情况,答案就是35 * 36。

三位四位以此类推,36 * 36 * 36(首位可以为零的三位情况)。

代码如下:

<?php
/**
* 生成0-9,a-z任意的二位数组合
* edit by www.
*/
function all(){
 $jichu = array(0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
 $c = count($jichu );
 for($i=1;$i<=36;$i++){
     $j = $i-1;
     foreach($jichu as $k){
  echo $k.$jichu[$j].'<br />';
     }
 }
}
all();
?>

    
[2]php接收二进制文件转换成图片的方法分享
    来源: 互联网  发布时间: 2013-12-24

php开发Flash在线裁剪图片生成图片的程序,通过Flash POST 图片的二进制数据给php,由php生成图片保存。

用$_POST接收数据是不行的,PHP默认只识别application/x-www.form-urlencoded标准的数据类型。
因此,对型如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败!
故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。

另外,php://input 也可以实现此功能。

php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input和
$HTTP_RAW_POST_DATA 不能用于 enctype=”multipart/form-data”。

在Flash中使用JPGEncoder把BitMapData转成二进制,然后post给php代码。

1,php页面代码

<?php
/**
* 生成图片,接收二进制数据
* edit by www.
*/
$filename="teststream.jpg";//要生成的图片名字
 
$xmlstr =  $GLOBALS[HTTP_RAW_POST_DATA];
if(empty($xmlstr)) $xmlstr = file_get_contents('php://input');
 
$jpg = $xmlstr;//得到post过来的二进制原始数据
$file = fopen("cache/pic/".$filename,"w");//打开文件准备写入
fwrite($file,$jpg);//写入
fclose($file);//关闭
?>

2,在thinkphp中的应用;

<?php
//保存头像
public function saveAvatar(){
$filename = intval($_GET['id']).'.jpg';
$xmlstr = $GLOBALS['HTTP_RAW_POST_DATA'];
if(empty($xmlstr)) {
    $xmlstr = file_get_contents('php://input');
}
if(!$xmlstr){
    exit( '没有接收到数据流.' );
} //by www.
$jpg = $xmlstr;//得到post过来的二进制原始数据
$file = fopen("./Public/Uploads/AVATAR/".$filename,"w");//打开文件准备写入
fwrite($file,$jpg);//写入
fclose($file);//关闭
}
?>

    
[3]php九宫格日志实现代码
    来源: 互联网  发布时间: 2013-12-24

php实现九宫格的页面,只有一个页面在展示,但是里面的内容很多, 要求可以选择背景、天气、表情,最后生成图片格式.

思路:
1、首先,要掌握php图片处理知识。
2、其次,要掌握Php水印相关的技术。
3、前台要掌握JQUERY自定义插件,还是jquery的一些其它功能,例:ajax提交数据。

本实例主要的知识点:php图像操作。

代码地址:https://github.com/adophper/9diary

以下是部分代码:

<?php
/**
 * 添加日志
 * bgid 背景图片
 * title 日志标题
 * 表格标题与内容以'-|*dt*|-'分隔为1、2、3、4、6、7、8、9个表格中的信息
 * 表格5相关:mid_title,emoticons
 * 模板id: tempid,待开发
 * open: 隐私
 */
 
//dump($_POST);
$bgid = intval(htmlspecialchars($_REQUEST['bgid']));
$title = htmlspecialchars($_POST['title']);
$cnt = str_replace(PHP_EOL, '',$_POST['cnt']);
//标题和内容不能为空
if (!isset($title) || !isset($cnt)){
echo '标题和内容不能为空!';
}
$imgid = intval($_POST['imgId']);
$weatherId = intval($_POST['weatherId']);
$mid_title = htmlspecialchars($_POST['mid_title']);
$cnt_titles = $_POST['cnt_titles'];
$tempId = intval($_POST['tempId']);
$open = intval($_POST['open']);
 
//写入图片
require_once('AppDiary.class.php');
$image = new AppDiary();
$path = dirname(__FILE__);
$backimage = $path.'/images/preview/'.$bgid.'.jpg';
$weatherimg = $path.'/images/weather/'.$weatherId.'.gif';
$emoticons_img = $path.'/images/emoticons/'.$imgid.'.gif';
$contents = explode('-|*dt*|-',$cnt);
$contents_title = explode('-|*dt*|-', $cnt_titles);
$str = array(
array($weatherimg,528,1,61,62),//天气
array($contents_title[0],35,83,146,28,'cnt'),//表格1 标题
array($contents[0],35,111,160,100,'cnt_titles'),//表格1 内容
array($contents_title[1],222,83,146,28,'cnt'),//表格2 标题
array($contents[1],222,111,160,100,'cnt_titles'),//表格2 内容
array($contents_title[2],407,83,146,28,'cnt'),//表格3 标题
array($contents[2],407,111,160,100,'cnt_titles'),//表格3 内容
array($contents_title[3],35,244,146,28,'cnt'),//表格4 标题
array($contents[3],35,273,160,100,'cnt_titles'),//表格4 内容
array($mid_title,240,235,146,38,'mid_title'),//表格5 标题
array($emoticons_img,261,283,80,80),//表格5 内容
array($contents_title[4],407,244,146,28,'cnt'),//表格6 标题
array($contents[4],407,273,160,100,'cnt_titles'),//表格6 内容
array($contents_title[5],35,409,146,28,'cnt'),//表格7 标题
array($contents[5],35,436,160,100,'cnt_titles'),//表格7 内容
array($contents_title[6],221,409,146,28,'cnt'),//表格8 标题
array($contents[6],221,436,160,100,'cnt_titles'),//表格8 内容
array($contents_title[7],407,409,146,28,'cnt'),//表格9 标题
array($contents[7],407,436,160,100,'cnt_titles'),//表格9 内容
);
//var_dump($str);
$pic = $image->topaste($backimage,$str);
$filename = $path.'/upfile/'.$pic;
//加了一个time()主要为了防止相同的文件名
$newname = $title.'_'.time().strrchr($pic, '.');
$newfile = $path.'/upfile/'.$newname;
//这里主要用于中文标题
$newfile = iconv( 'UTF-8', 'GB18030', $newfile );
if (file_exists($filename)){
//更改文件名成功
if (rename($filename,$newfile)){
$pic = $newname;
}
echo json_encode(array('info'=>$pic,'status'=>1));
}else{
//生成文件失败
echo json_encode(array('info'=>'Error'.$pic,'status'=>0));
}
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
c/c++ iis7站长之家
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3