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正则
Jul 07 PHP
以文本方式上传二进制文件的PHP程序
Oct 09 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
js DOM的学习笔记
2011/12/22 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
Augularjs-起步详解
2016/07/08 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python爬虫增加访问量的方法
2019/08/22 Python
python检测服务器端口代码实例
2019/08/31 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
python实现的分层随机抽样案例
2020/02/25 Python
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
函授自我鉴定范文
2014/02/06 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
法人身份证明书
2015/06/18 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
mysql查找连续出现n次以上的数字
2022/05/11 MySQL