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中养成7个面向对象的好习惯
Jul 17 PHP
PHP实现多条件查询实例代码
Jul 17 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
php四种基础算法代码实例
Oct 29 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
PHP crc32()函数讲解
Feb 14 PHP
Laravel框架创建路由的方法详解
Sep 04 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 XML操作类DOMDocument
2009/12/16 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
jquery对表单操作2
2011/04/06 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
react-router中的属性详解
2017/06/01 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
使用tensorflow实现AlexNet
2017/11/20 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
Python3实现定时任务的四种方式
2019/06/03 Python
python  logging日志打印过程解析
2019/10/22 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
消防宣传语大全
2015/07/13 职场文书
放假通知怎么写
2015/08/18 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
python运行脚本文件的三种方法实例
2022/06/25 Python