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 fopen 读取带中文URL地址的一点见解
Sep 25 PHP
解析crontab php自动运行的方法
Jun 24 PHP
js和php邮箱地址验证的实现方法
Jan 09 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
php检索或者复制远程文件的方法
Mar 13 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
如何通过PHP实现Des加密算法代码实例
May 09 PHP
php array_map()函数实例用法
Mar 03 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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
实用函数5
2007/11/08 PHP
php上传文件的增强函数
2010/07/21 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
jquery简单体验
2007/01/10 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python GAE、Django导出Excel的方法
2008/11/24 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
pandas分批读取大数据集教程
2020/06/06 Python
浅谈Python3中print函数的换行
2020/08/05 Python
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
美国羊皮公司:Overland
2018/01/15 全球购物
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
学前教育毕业生自荐信
2013/10/29 职场文书
九年级数学教学反思
2014/02/02 职场文书
小学语文国培感言
2014/03/04 职场文书
学习与创新自我评价
2015/03/09 职场文书
全民创业工作总结
2015/08/13 职场文书