Ajax+PHP边学边练 之五 图片处理


Posted in PHP onDecember 03, 2009

先上个效果图:

Ajax+PHP边学边练 之五 图片处理 
Sample6_1.php 中创建Form:

//显示上传状态和图片 
<div id="showimg"></div> 
//上传文件需要定义enctype,为了显示图片将target设为uploadframe 
<form id="uploadform" action="process_upload.php" method="post" 
enctype="multipart/form-data" target="uploadframe"> 
Upload a File:<br /> 
<input type="file" id="myfile" name="myfile" /> 
//上传文件 
<input type="submit" value="Submit" onclick="uploadimg(document.getElementById('uploadform')); return false;" /> 
<iframe id="uploadframe" name="uploadframe" src="process_upload.php" class="noshow"></iframe> 
</form>

上传图片函数 uploadimg:
function uploadimg(theform){ 
//提交Form 
theform.submit(); 
//在showimg <div>中显示上传状态 
setStatus ("Loading...","showimg"); 
} 
//上传状态函数 
function setStatus (theStatus, theObj){ 
obj = document.getElementById(theObj); 
if (obj){ 
obj.innerHTML = "<div class=\"bold\">" + theStatus + "</div>"; 
} 
}

process_upload.php 提供文件上传功能:
<?php 
//提供图片类型校验 
$allowedtypes = array("image/jpeg","image/pjpeg","image/png", "image/x-png","image/gif"); 
//文件存放目录 
$savefolder = "images"; //如果有文件上传就开始干活 
if (isset ($_FILES['myfile'])){ 
//检查上传文件是否符合$allowedtypes类型 
if (in_array($_FILES['myfile']['type'],$allowedtypes)){ 
if ($_FILES['myfile']['error'] == 0){ 
$thefile = "$savefolder/".$_FILES['myfile']['name']; 
//通过move_uploaded_file上传文件 
if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $thefile)){ 
echo "There was an error uploading the file."; 
} 
else{ 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="functions.js"></script> 
</head> 
<body> 
<!-- 显示图片 --> 
<img src="<?php echo $thefile; ?>" onload="doneloading(parent,'<?php echo $thefile; ?>')" /> 
</body> 
</html> 
<?php 
} 
} 
} 
} 
?>

上面代码最后部分的doneloading 函数就是用来显示图片及修改图片尺寸大小。其中会用到thumb.php,它会在images目录中生成出源图片的大、中、小三个尺寸,有兴趣可以研究一下。欢迎大家拍砖~
文中源码打包下载
PHP 相关文章推荐
基于PHP+MySQL的聊天室设计
Oct 09 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
php print EOF实现方法
May 21 PHP
PHP实现多条件查询实例代码
Jul 17 PHP
php设计模式 Delegation(委托模式)
Jun 26 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 PHP
php简单计算年龄的方法(周岁与虚岁)
Dec 06 PHP
php实现文件与16进制相互转换的方法示例
Feb 16 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 #PHP
又一个php 分页类实现代码
Dec 03 #PHP
php 无限分类的树类代码
Dec 03 #PHP
php zip文件解压类代码
Dec 02 #PHP
PHP5 面向对象(学习记录)
Dec 02 #PHP
php smarty模版引擎中的缓存应用
Dec 02 #PHP
php 一元分词算法
Nov 30 #PHP
You might like
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
js选择器全面解析
2016/06/27 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
从零学Python之入门(二)基本数据类型
2014/05/25 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
教师找工作推荐信
2013/11/23 职场文书
金融行业务员的自我评价
2013/12/13 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
网络宣传方案
2014/03/15 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书