本文将分享两种php实现图片上传的方法的详细内容,并且还将对两种php实现图片上传的方法是进行详尽解释,此外,我们还将为大家带来关于CI(CodeIgniter)框架实现图片上传的方法、flash+p
本文将分享两种php实现图片上传的方法的详细内容,并且还将对两种php实现图片上传的方法是进行详尽解释,此外,我们还将为大家带来关于CI(CodeIgniter)框架实现图片上传的方法、flash+php实现图片上传、PHP 实现图片上传并添加水印的方法、PHP 实现图片上传的代码(带返回值)的相关知识,希望对你有所帮助。
本文目录一览:- 两种php实现图片上传的方法(两种php实现图片上传的方法是)
- CI(CodeIgniter)框架实现图片上传的方法
- flash+php实现图片上传
- PHP 实现图片上传并添加水印的方法
- PHP 实现图片上传的代码(带返回值)
两种php实现图片上传的方法(两种php实现图片上传的方法是)
图片上传在项目中经常用到,几乎没有任何一个项目可以脱离图片或者是文件上传。本篇我在这向大家介绍两种常规的上传方式。(注:在这里我们仅仅是对功能的实现,不去做过多的前端的样式)
一、利用form表单上传
此种方式是最原始的上传方式,前端就是简单的form表单,后端我们有PHP处理传输过来的文件。
首先看前端的代码 upload.html
<form action="handle.php" name="form" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" name="submit" value="上传" /> </form>
然后新建php文件 handle.php 代码如下
$file = $_FILES[''file''];//得到传输的数据 //得到文件名称 $name = $file[''name'']; $type = strtolower(substr($name,strrpos($name,''.'')+1)); //得到文件类型,并且都转化成小写 $allow_type = array(''jpg'',''jpeg'',''gif'',''png''); //定义允许上传的类型 //判断文件类型是否被允许上传 if(!in_array($type, $allow_type)){ //如果不被允许,则直接停止程序运行 return ; } //判断是否是通过HTTP POST上传的 if(!is_uploaded_file($file[''tmp_name''])){ //如果不是通过HTTP POST上传的 return ; } $upload_path = "D:/now/"; //上传文件的存放路径 //开始移动文件到相应的文件夹 if(move_uploaded_file($file[''tmp_name''],$upload_path.$file[''name''])){ echo "Successfully!"; }else{ echo "Failed!"; }
当然,此php处理代码不是很完善,其中对错误的情况没有进行处理,然而使用php处理上传文件的原理就是这样的,大家可以在此基础上进行优化,使其更加完善。
二、利用uploadify实现无刷新并且带进度条的上传
首先下载uploadify插件,保存在项目中的某个文件夹下面,然后引入三个文件
<link href="js/uploadify/uploadify.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/uploadify/jquery.min.1.7.js"></script> <script type="text/javascript" src=js/uploadify/jquery.uploadify.min.js"></script>
然后引用以下代码
<script type="text/javascript"> $(function(){ $(".uploadbutton").each(function(){ bidtype="上传"; $(this).uploadify({ swf: ''js/uploadify/uploadify.swf'', uploader: "handle.php", //处理上传的php文件或者方法 multi: true, //是否开启一次性上传多个文件 queueSizeLimit:20, //最大允许上传的文件数量 buttonText: bidtype, //按钮文字 height: 34, //按钮高度 width: 82, //按钮宽度 auto:false, //选择完图片以后是否自动上传 method:''post'', fileTypeExts: "*.jpg;*.png;*.gif;*.jpeg;", //允许的文件类型 fileTypeDesc: "请选择图片文件", //文件说明 postData:{}, formData: { "imgType": "normal","timestamp":"asdfsa","token":"48f262516b3912a060d21ef6af564668" }, //提交给服务器端的参数 onUploadSuccess: function (file, data, response) { //一个文件上传成功后的响应事件处理 var data = $.parseJSON(data); } }); }) }); </script> <body> <span id="commercial_upload"></span> </body>
样式如下
当然此按钮的样式我改动过,大家可以根据自己的需要修改样式文件,改变此按钮的样式
同样的php代码 handle.php
$file = $_FILES[''Filedata''];//得到传输的数据 //得到文件名称 $name = $file[''name'']; $type = strtolower(substr($name,strrpos($name,''.'')+1)); //得到文件类型,并且都转化成小写 $allow_type = array(''jpg'',''jpeg'',''gif'',''png''); //定义允许上传的类型 //判断文件类型是否被允许上传 if(!in_array($type, $allow_type)){ //如果不被允许,则直接停止程序运行 return ; } //判断是否是通过HTTP POST上传的 if(!is_uploaded_file($file[''tmp_name''])){ //如果不是通过HTTP POST上传的 return ; } $upload_path = "D:/now/"; //上传文件的存放路径 //开始移动文件到相应的文件夹 if(move_uploaded_file($file[''tmp_name''],$upload_path.$file[''name''])){ echo "Successfully!"; }else{ echo "Failed!"; }
以上两种方式上传可以说PHP处理的原理是相同的,只是前台显示的样式不同,第二种方式是无刷新,并且带有返回值,可以方便我们做其它的处理。虽然常用,但是总归会受限制,使用起来不是很灵活。
随着html5的发展的越来越成熟,我们可以利用h5中的一些方法实现上传功能,此时后台PHP的处理代码完全不同于以上两种方式,并且使用起来很灵活。由于篇幅限制,本篇我不向大家介绍这种方式,有兴趣的可以参考php+html5实现无刷新图片上传教程,希望大家会喜欢。
- 简单PHP上传图片、删除图片实现代码
- PHP 图片文件上传实现代码
- 简单的PHP图片上传程序
- php+ajax实现图片文件上传功能实例
- php实现上传图片保存到数据库的方法
- thinkphp实现图片上传功能分享
- php多个文件及图片上传实例详解
- PHP实现图片上传并压缩
- php上传图片到指定位置路径保存到数据库的具体实现
- 如何利用PHP实现上传图片功能详解
CI(CodeIgniter)框架实现图片上传的方法
本文实例讲述了CodeIgniter框架实现图片上传的方法。分享给大家供大家参考,具体如下:
对于图片上传这种老生常谈的问题,在此我不得不再次重复一次,因为对于这框架毕竟有些地方值得自己学习与借鉴,这篇文章我是借助官方文档来写的,但有些地方任然需要标明一下。
下面我们来看看图片上传吧。首先在“./application/views/”文件夹下创一个视图文件:text.php,代码如下:
<html> <head> <title>Upload Form</title> </head> <body> <?php echo $error;?> <?php echo form_open_multipart(''upload/do_upload'');?> <input type="file" name="userfile" size="20"/> <br><br> <input type="submit" value="upload"/> </form> </body> </html>
Codeigniter有自己非常丰富upload类库,下面我们来看看控制器,在Controller中一个Upload.php文件,代码如下:
class Upload extends CI_Controller{ public function __construct(){ parent::__construct(); $this->load->helper("form","url"); } public function index(){ $this->load->view(''test'',array("error"=>'''')); } public function do_upload(){ $config[''upload_path'']=''./uploads/''; $config[''allowed_types'']=''gif|jpg|png''; $config[''max_size'']=100; $config[''max_width'']=1024; $config[''max_height'']=768; $this->load->library(''upload'',$config); if(!$this->upload->do_upload(''userfile'')){ $error=array(''error''=>$this->upload->display_errors()); $this->load->view(''test'',$error); }else{ $data=array(''upload_data''=>$this->upload->data()); $this->load->view(''upload_success'',$data); } } }
下面在视图中创建另外一个文件upload_success.php
<html> <head> <title>Upload Form</title> </head> <body> <h3>Your file was successfully uploaded!</h3> <ul> <?php <foreach($upload_data as $item=>$value):?> <li> <?php echo $item;?>:<?php echo $value;?> </li> <?php?> </ul> </body> </html>
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
- codeigniter上传图片不能正确识别图片类型问题解决方法
- Codeigniter实现智能裁剪图片的方法
- 使用CodeIgniter的类库做图片上传
- CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
- php基于CodeIgniter实现图片上传、剪切功能
- CI框架无限级分类+递归的实现代码
- CI框架文件上传类及图像处理类用法分析
- CI框架实现优化文件上传及多文件上传的方法
- CI框架实现递归生成文件路径并重新生成图片功能
flash+php实现图片上传
实现flash+php图片上传,两者各有分工:
flash负责打开browser,浏览我的电脑;
这里我们需要的flash方法有:
1.FileReference或者FileReferenceList类,负责浏览我的电脑,两者区别是,前者每次可以选择一个文件
而后者可以每次选择多个文件;
立即学习“PHP免费学习笔记(深入)”;
包 | flash.net |
类 | public class FileReference |
继承 | FileReference -> EventDispatcher -> Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。 操作系统对话框会提示用户选择要上载的文件或用于下载的位置。 每个 FileReference 对象都引用用户磁盘上的一个文件并且具有一些属性,这些属性包含有关文件大小、类型、名称、创建日期、修改日期和创建者类型(仅限 Macintosh)的信息。
2.打开之后,我们可以使用FileFilter来限制选择文件的格式;
包 | flash.net |
类 | public final class FileFilter |
继承 | FileFilter-> Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
FileFilter 类用来指示在调用 FileReference.browse() 或 FileReferenceList.browse() 时,用户系统上的哪些文件显示在出现的文件浏览对话框中。 FileFilter 实例将被传递给 browse() 函数。 如果使用 FileFilter 实例,则 FileFilter 实例中未指定的扩展名和文件类型将被过滤掉,即用户在上载时无法选择这些类型。 如果未将 FileFilter 对象传递给 browse(),则对话框中将显示所有文件。
3.这些就够了
php负责后台的上传,这部分只要就只有一个函数move_uploaded_file
move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5)
move_uploaded_file -- 将上传的文件移动到新位置说明
bool move_uploaded_file ( string filename, string destination )本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。
如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。
如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。
这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。
代码部分:
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.controls.Button;
import flash.net.FileReference;
import flash.net.FileFilter;
public class Main extends Sprite
{
public var file:FileReference;
public var btn:Button;
public var arr:Array;
public var imgfilter:FileFilter;
public var swffilter:FileFilter;
public var ureq:URLRequest;
public function Main()
{
file = new FileReference();
btn = new Button();
imgfilter = new FileFilter("Image", "*.png;*.jpg");
btn.label = "browser";
btn.emphasized = true;
btn.width = 150;
btn.move(100, 100);
ureq.url = "http://localhost/test/img/upload.php";
btn.addEventListener(MouseEvent.MOUSE_DOWN, down);
file.addEventListener(Event.COMPLETE, complete);
file.addEventListener(Event.OPEN,open);
file.addEventListener(Event.CANCEL, cancel);//点击取消按钮会广播这个事件
file.addEventListener(Event.SELECT, select);
addChild(btn);
}
public function down(e:MouseEvent):void {
file.browse([imgfilter]);//browse的参数是以个FileFilter对象,限制文件选择的类型
}
public function complete(e:Event):void {
trace("complete"+e);
}
public function open(e:Event):void {
trace("open");
}
public function cancel(e:Event):void {
trace("cancel");
}
public function select(e:Event):void {
var tem = e.target;
trace(tem.name + "," + tem.creationDate + "," + tem.size);
file.upload(ureq);//选择结束后,开始上传
}
}
}
$uploaddir = ''./uploads/'';//设置存储路径
$filename = $_FILES[''Filedata''][''name''];//获得选择的文件
$uploadfile = $uploaddir . $filename;//存储文件路径
$uploadfile = iconv(''utf-8'', ''gb2312'', $uploadfile);//设置文件格式
move_uploaded_file($_FILES[''Filedata''][''tmp_name''], $uploadfile);//开始上传
?>
PHP 实现图片上传并添加水印的方法
下面为各位大家介绍一下PHP图片上传并添加水印的方法 ,感兴趣的小伙伴一起来看看吧。 经测试代码如下:
<?PHP
function imageWaterMark($groundImage,$waterPos=0,$waterImage=,$waterText=,$textFont=5,$textColor=#FF0000)
{
$isWaterImage = FALSE;
$formatMsg = 暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。;
//读取水印文件
if(!empty($waterImage) && file_exists($waterImage))
{
$isWaterImage = TRUE;
$water_info = getimagesize($waterImage);
$water_w = $water_info[0];//取得水印图片的宽
$water_h = $water_info[1];//取得水印图片的高
switch($water_info[2])//取得水印图片的格式
{
case 1:$water_im = imagecreatefromgif($waterImage);break;
case 2:$water_im = imagecreatefromjpeg($waterImage);break;
case 3:$water_im = imagecreatefrompng($waterImage);break;
default:die($formatMsg);
}
}
//读取背景图片
if(!empty($groundImage) && file_exists($groundImage))
{
$ground_info = getimagesize($groundImage);
$ground_w = $ground_info[0];//取得背景图片的宽
$ground_h = $ground_info[1];//取得背景图片的高
switch($ground_info[2])//取得背景图片的格式
{
case 1:$ground_im = imagecreatefromgif($groundImage);break;
case 2:$ground_im = imagecreatefromjpeg($groundImage);break;
case 3:$ground_im = imagecreatefrompng($groundImage);break;
default:die($formatMsg);
}
}
else
{
die(需要加水印的图片不存在!);
}
//水印位置
if($isWaterImage)//图片水印
{
$w = $water_w;
$h = $water_h;
$label = 图片的;
}
else//文字水印
{
$temp = imagettfbBox(ceil($textFont*2.5),c:/windows/fonts/stcaiyun.ttf,$waterText);//取得使用 TrueType 字体的文本的范围
$w = $temp[2] - $temp[6];
$h = $temp[3] - $temp[7];
unset($temp);
$label = 文字区域;
}
if( ($ground_w<$w) || ($ground_h<$h) )
{
echo 需要加水印的图片的长度或宽度比水印.$label.还小,无法生成水印!;
return;
}
switch($waterPos)
{
case 0://随机
$posX = rand(0,($ground_w - $w));
$posY = rand(0,($ground_h - $h));
break;
case 1://1为顶端居左
$posX = 0;
$posY = 0;
break;
case 2://2为顶端居中
$posX = ($ground_w - $w) / 2;
$posY = 0;
break;
case 3://3为顶端居右
$posX = $ground_w - $w;
$posY = 0;
break;
case 4://4为中部居左
$posX = 0;
$posY = ($ground_h - $h) / 2;
break;
case 5://5为中部居中
$posX = ($ground_w - $w) / 2;
$posY = ($ground_h - $h) / 2;
break;
case 6://6为中部居右
$posX = $ground_w - $w;
$posY = ($ground_h - $h) / 2;
break;
case 7://7为底端居左
$posX = 0;
$posY = $ground_h - $h;
break;
case 8://8为底端居中
$posX = ($ground_w - $w) / 2;
$posY = $ground_h - $h;
break;
case 9://9为底端居右
$posX = $ground_w - $w;
$posY = $ground_h - $h;
break;
default://随机
$posX = rand(0,($ground_h - $h));
break;
}
//设定图像的混色模式
imagealphablending($ground_im,true);
if($isWaterImage)//图片水印
{
imagecopy($ground_im,$water_im,$posX,$posY,$water_w,$water_h);//拷贝水印到目标文件
}
else //文字水印
{
if( !empty($textColor) && (strlen($textColor)==7) )
{
$R = hexdec(substr($textColor,1,2));
$G = hexdec(substr($textColor,3,2));
$B = hexdec(substr($textColor,5));
}
else
{
die(水印文字颜色格式不正确!);
}
imagestring ( $ground_im,$textFont,$waterText,imagecolorallocate($ground_im,$R,$G,$B));
}
//生成水印后的图片
@unlink($groundImage);
switch($ground_info[2])//取得背景图片的格式
{
case 1:imagegif($ground_im,$groundImage);break;
case 2:imagejpeg($ground_im,$groundImage);break;
case 3:imagepng($ground_im,$groundImage);break;
default:die($errorMsg);
}
//释放内存
if(isset($water_info)) unset($water_info);
if(isset($water_im)) imagedestroy($water_im);
unset($ground_info);
imagedestroy($ground_im);
}
//---------------------------------------------------------------------------------------
if(isset($_FILES) && !empty($_FILES['userfile']) && $_FILES['userfile']['size']>0)
{
$uploadfile = ./.time()._.$_FILES['userfile']['name'];
if (copy($_FILES['userfile']['tmp_name'],$uploadfile))
{
echo OK<br>;
//文字水印
// imageWaterMark($uploadfile,9,./trtt.png,www.zg700.com,5,#FF0000);
//图片水印
$waterImage=./shuiyin.png;//水印图片路径
imageWaterMark($uploadfile,$waterImage);
echo <img src=\.$uploadfile.\ border=\0\>;
}
else
{
echo Fail<br>;
}
}
?>
/*** 来自:小编 jb51.cc(jb51.cc) ***/
上传.html经测试代码如下:
<form enctype=multipart/form-data method=POST>
文件: <input name=userfile type=file>
<input type=submit value=上传>
</form>
<!-- 来自 小编 jb51.cc (jb51.cc)-->
这里只是简单介绍一下PHP图片上传并添加水印的方法 的内容,仅供大家参考。有兴趣的可以继续浏览下页。PHP 实现图片上传的代码(带返回值)
功能:上传图片,并自动关闭自己,把图片的地址返回给上一级表单
<Meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<?PHP
/******************************************************************************
参数说明:
$max_file_size : 上传文件大小限制,单位BYTE
$destination_folder : 上传文件路径
$watermark : 是否附加水印(1为加水印,其他为不加水印);
使用说明:
1. 将PHP.INI文件里面的extension=PHP_gd2.dll一行前面的;号去掉,因为我们要用到GD库;
2. 将extension_dir =改为你的PHP_gd2.dll所在目录;
******************************************************************************/
//上传文件类型列表
$uptypes=array(
'image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png'
);
$max_file_size=2000000; //上传文件大小限制,单位BYTE
$destination_folder =../uploadimg/; //上传文件路径
$watermark=1; //是否附加水印(1为加水印,其他为不加水印);
$watertype=1; //水印类型(1为文字,2为图片)
$waterposition = 2; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring = http://WWW.512pic.COM; //水印字符串
$waterimg=xplore.gif; //水印图片
$imgpreview=1; //是否生成预览图(1为生成,其他为不生成);
$imgpreviewsize=1; //缩略图比例 1/2
$destination_folder =$destination_folder .date('Y',time())./;
if(!file_exists($destination_folder)) //检查年份文件是否存在,不存在则创建
{
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir($destination_folder,0700);
}//END IF
$destination_folder =$destination_folder .date('md',0700);
}//END IF
?>
<html>
<head>
<title>图片上传程序</title>
<style type=text/css>
<!--
body
{
font-size: 9pt;
}
input
{
background-color: #66CCFF;
border: 1px inset #CCCCCC;
}
-->
</style>
</head>
<body>
<form enctype=multipart/form-data method=post name=upform>
上传文件:
<input name=upfile type=file>
<input type=submit value=上传><br>
允许上传的文件类型为:<?=implode(',',$uptypes)?>
</form>
<?PHP
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES[upfile][tmp_name]))
//是否存在文件
{
echo 图片不存在!;
exit;
}
$file = $_FILES[upfile];
if($max_file_size < $file[size])
//检查文件大小
{
echo 文件太大!;
exit;
}
if(!in_array($file[type],$uptypes))
//检查文件类型
{
echo 文件类型不符!.$file[type];
exit;
}
if(!file_exists($destination_folder))
{
mkdir($destination_folder);
}
$filename = $file[tmp_name]; //文件名
$image_size = getimagesize($filename); //文件大小
$pinfo = pathinfo($file[name]);
$ftype = $pinfo['extension']; //文件类型
date_default_timezone_set('PRC');
$fnameurl = date(YmdHis).rand(100000,999999);//文件名 年月日时分秒+6位随机数
$destination = $destination_folder.$fnameurl...$ftype; //文件路径
if (file_exists($destination) && $overwrite != true)
{
echo 同名文件已经存在了;
exit;
}
if(!move_uploaded_file ($filename,$destination))
{
echo 移动文件出错;
exit;
}
$pinfo = pathinfo($destination);
$fname = $pinfo[basename];
echo <font color=red>已经成功上传</font><br>文件名: <font color=blue>.$destination_folder.$fname.</font><br>;
echo 宽度:.$image_size[0];
echo 长度:.$image_size[1];
echo <br> 大小:.$file[size]. bytes;
if($watermark==1)
{
$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white =imagecolorallocate($nimage,255,255);
$black = imagecolorallocate($nimage,0);
$red =imagecolorallocate($nimage,0);
imagefill($nimage,$white);
switch ($iinfo[2])
{
case 1:
$simage =imagecreatefromgif($destination);
break;
case 2:
$simage =imagecreatefromjpeg($destination);
break;
case 3:
$simage =imagecreatefrompng($destination);
break;
case 6:
$simage =imagecreatefromwbmp($destination);
break;
default:
die(不支持的文件类型);
exit;
}
imagecopy($nimage,$simage,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,125,$image_size[1],$black );
switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$waterstring,$red); //图象地址,使用内置字体,X坐标,Y坐标,字符串,颜色
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif(xplore.gif);
imagecopy($nimage,$simage1,85,15);
imagedestroy($simage1);
break;
}
switch ($iinfo[2])
{
case 1:
//imagegif($nimage,$destination);
imagejpeg($nimage,$destination);
break;
case 2:
imagejpeg($nimage,$destination);
break;
case 3:
imagepng($nimage,$destination);
break;
case 6:
imagewbmp($nimage,$destination);
//imagejpeg($nimage,$destination);
break;
}
//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}
if($imgpreview==1)
{
echo <br>图片预览:<br>;
echo <img src=\.$destination.\ width=.($image_size[0]*$imgpreviewsize). height=.($image_size[1]*$imgpreviewsize);
echo alt=\图片预览:\r文件名:.$destination.\r上传时间:\>;
$uu = str_replace(..,,$destination_folder.$fname ); //替换前面冒号
echo <script language=javascript>window.opener.document.form.File_img.value='.$uu .';var opened=window.open('about:blank','_self');
opened.opener=null;
opened.close();
</script>; //将路径返回表单form中的文本框file
//关闭自己
}
}
?>
</body>
</html>
/*** 以上代码来自:小编 jb51.cc(jb51.cc) ***/
我们今天的关于两种php实现图片上传的方法和两种php实现图片上传的方法是的分享就到这里,谢谢您的阅读,如果想了解更多关于CI(CodeIgniter)框架实现图片上传的方法、flash+php实现图片上传、PHP 实现图片上传并添加水印的方法、PHP 实现图片上传的代码(带返回值)的相关信息,可以在本站进行搜索。
本文标签: