本文目录一览:
- 1、ThinkPHP中图片最多一次上传20张,怎么上传更多图片?
- 2、php怎么一个file上传多张图片?????????
- 3、php 怎样实现同时上传多张图片
- 4、多张图片上传 删除 修改 PHP
- 5、php 异步上传图片几种方法总结
- 6、php怎么实现批量上传图片?不是一张一张选择之后一起上传 就是打开文件夹全选直接全部上传。
ThinkPHP中图片最多一次上传20张,怎么上传更多图片?
$User-fenxiang_fm = 'Uploads/'.$info[0]["savename"]; // 这里的$info[0]["savename"]的下标[0]表示上传的第1个图片按顺序,记住是下标
$User-fenxiang_sc = 'Uploads/'.$info[1]["savename"]; // 这里的$info[1]["savename"]的下标[1]表示上传的第2个图片按顺序,记住是下标
function upload(){
import("ORG.Net.UploadFile");
$upload = new UploadFile();// 实例化上传类
$upload-maxSize = 3145728 ;// 设置附件上传大小
$upload-allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload-saveRule = time;//这里的时间是根据上传的图片的多少来自动改变图片的名称的(并且时间都不同,所以上传的图片的名称就不会相同)
php怎么一个file上传多张图片?????????
?php /** *类说明: * 使用new关键字实像化类,类中有两个公用方法, * 方法create_input创建表单按键,请在相应的表单处引用该方法就可创建上传表单的input按键 * 方法get_upfile()用于处理上传文件 * 该类由 游天小虾 制作,网页制作交流群:69574955 * **/ class upfile { private $name = 'filename';//input表单名 private $namecount = 2;//设置上传文件的个数 private $type = array('jpg','jpeg','gif','png');//文件格式 private $size = '1024';//文件大小单位kb private $upname = '';//上传文件信息 private $updir = 'upfile/'; private $movename = '';//移动后的文件名 private $uparrs = array();//多文件上传数组 private $error_type =0;//文件上传产生的错误 /** * 创建文件上传的表单控件 * */ public function create_input(){ if(floor($this-namecount) == 1){ $input = "pinput type='file' id=".$this-name." name=".$this-name."/p"; }else{ for($i=0;$i($this-namecount);$i++){ $input .= "pinput type='file' id='".$this-name."[]' name='".$this-name."[]'/p"; } } echo "$input"; } /** * 初始文件信息$file = $_FILES['file']['tem_name'] * **/ private function get_part(){ if($this-namecount == 1){ //判断是否是多文件上传 if($_FILES[$this-name]['tmp_name']){ $this-upname = $_FILES[$this-name]; }else{ $this-error_type += 100; //文件信息错误观点 100; } }else{ if($_FILES[$this-name]){ $this-uparrs = $this-more_updata($_FILES[$this-name],$this-namecount);//对$_FILES取得的文件上信息重写 }else{ $this-error_type += 100; //文件信息错误观点 100; } } } /** * 多文件上传时,数组重写 * **/ private function more_updata($arrs,$num){ for($i=0;$i$num;$i++){ $data[] =array('name'=$arrs[name][$i],'type'=$arrs[type][$i],'tmp_name'=$arrs[tmp_name][$i],'error'=$arrs['error'][$i],'size'=$arrs['size'][$i]); } return $data; } /** * 判断上传文件大小 * **/ private function chck_size(){ if($this-upname['size']*1000 $this-size){ $this-error_type += 300; //文件信息错误观点 300; } } /** * 判断上传文件的类型 * **/ private function chck_type(){ if(!in_array($this-get_suffix($this-upname['name']),$this-type)){ $this-error_type += 500; //文件信息错误观点 500; } } /** * 格式化上传后的文件名 * **/ private function chck_name(){ $this-movename = date(Ymd).substr(md5(rand(0,date(Hms))),0,6)."."; $this-movename .= $this-get_suffix($this-upname['name']); } /** * 移动文件 * **/ private function move_file(){ if($this-updir){ if(!move_uploaded_file($this-upname['tmp_name'],$this-updir.$this-movename)){ $this-error_type += 700; //文件信息错误观点 700; } }else{ mkdir($this-updir,"w"); chmod($this-updir,777); if(!move_uploaded_file($this-upname['tmp_name'],$this-updir.$this-movename)){ $this-error_type += 700; //文件信息错误观点 700; } } } /** * 取得文件的后缀名 * **/ private function get_suffix($filename){//取得文件后缀名 $part = pathinfo($filename); $suffix = $part['extension']; return $suffix; } /** * 文件上传处理 * **/ public function get_upfile() {//主上传方法 if(floor($this-namecount) == 1){ $this-get_part(); $this-chck_name(); $this-chck_type(); $this-chck_size(); if($this-error_type ==0){$this-move_file();} if($this-error_type ==0){ echo "$this-movename 上传成功 br"; }else{ echo "$this-movename 上传失败,错误: $this-error_type br"; $this-error_type=0; }; }else{ $this-get_part(); for($i=0;$ifloor($this-namecount);$i++){ $this-upname = ($this-uparrs[$i]); $this-chck_name(); $this-chck_type(); $this-chck_size(); if($this-error_type ==0){$this-move_file();} if($this-error_type ==0){ echo "$this-movename 上传成功 br"; }else{ echo "$this-movename 上传失败,错误: $this-error_type br"; $this-error_type=0; }; } } } } $up = new upfile(); if($_POST['t1']){ $up-get_upfile(); } ? form name='f1' enctype = multipart/form-data action="" method="post" input type='text' name='t1'br ?php $up-create_input(); ? input type='submit' value='上传' /from 刚不久写的一个文件上传的类!上面已经有说明了,你参考一下,不明白的话,可以问我,或者加入我们的QQ群讨论!
php 怎样实现同时上传多张图片
有详细的注释,不清楚直接CALL我
主要是利用了JS来控制文件域,增加或者删除来实现的。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gbk" /
meta name="Keywords" content=""/
meta name="Description" content=""/
title动态添加图片/title
script type="text/javascript"
function addimg(){
//包含所有文件域的DIV
var div = document.getElementById('imgs');
//文件域
var input = document.createElement("input");
input.name = "img[]";
input.type = 'file';
//添加
div.appendChild(input);
//删除按钮
var button = document.createElement("a");
button.href = "javascript:;";
button.innerHTML = '删除';
div.appendChild(button);
//换行
var br = document.createElement("br");
div.appendChild(br);
//在按钮上增加删除的事件
button.onclick = function(){
input.parentNode.removeChild(input);
this.parentNode.removeChild(this);
br.parentNode.removeChild(br);
}
}
/script
/head
body
form method="POST" enctype="multipart/form-data" action="upload.php"
请选择图片:
div id="imgs"
input type="file" name="img[]"/br/
/div
input type="button" onclick="addimg()" value="增加"/
/form
/body
/html
多张图片上传 删除 修改 PHP
方法一:
你这样以json
的形式保持多条记录
不好修改数据记录的,程序些下来也比较纠结
改一下数据表里面的结构吧,,,一张图片一个字段(pic1,pic2,pic3,pic4)
方法二:
在修改页面的时候
把
json
数据
格式化为
数组
用foreach
把这些图片路径
循环到
隐藏域里面
点击删除
一个
时候
就用js
删除图片对应的隐藏域
(至于图片的删除
可以用ajax
来实现)
最后表单提交的时候
:
就值接收到了
没有删除的图片的隐藏域
保存更改入库就
行了!
希望对你有用
php 异步上传图片几种方法总结
代码如下
form action="upload.php" id="form1" name="form1" enctype="multipart/form-data" method="post" target="uploadIframe" !--上传图片页面 -- /form iframe name="uploadIframe" id="uploadIframe" style="display:none"/iframe
然后后台处理完上传图片逻辑后返回给前台,利用ajax修改当前页面DOM对象实现无刷新上传图片的友好功能。
实例
代码如下
a.html form enctype="multipart/form-data" action="a.php" target="ifram_sign" method="POST" input name="submit" id="submit" value="" type="hidden" label上传文件: input name="test_file" type="file" id="test_file" size="48"/label input type="image" value="立即上传" id="submit_btn" /formiframe name="ifram_sign" src="" frameborder="0" height="0" width="0" marginheight="0" marginwidth="0"/iframe
php代码:
代码如下
?php
if ($_files["test_file"]["error"] 0)
{
echo "Error: " . $_files["test_file"]["error"] . "br /";
}
else
{
//这里的判断图片属性的方法就不写了。自己扩展一下。
$filetype=strrchr($_files["test_file"]["name"],".");
$filetype=substr($filetype,1,strlen($filetype));
$filename="img/".time("YmdHis").".".$filetype;
move_uploaded_file($_files["test_file"]["tmp_name"],$filename);
echo 'script alert(1)/script';
$return="parent.document.getElementByIdx_x('mpic".$pageset_id."').innerhtml='".$dataimgpath."'";
echo "script alert('上传成功')/script";
echo "script{$return}/script";
}
?
其实jquery ajax图片异步上传
html:
!DOCTYPE html PUBLIC "-//W3C//dtd Xhtml 1.0 transitional//EN"
""
html xmlns="" lang="en_US" xml:lang="en_US"
head
title图片异步上传/title
/head
script type="text/javascript" src="js/jquery.js"/script
script type="text/javascript" src="js/index.js"/script
link type="text/css" rel="stylesheet" href="css/index.css"
body
div class="frm"
form name="uploadFrom" id="uploadFrom" action="upload.php" method="post" target="tarframe" enctype="multipart/form-data"
input type="file" id="upload_file" name="upfile"
/form
iframe src="" width="0" height="0" style="display:none;" name="tarframe"/iframe
/div
div id="msg"
/div
/body
/html
index.js
$(function(){
$("#upload_file").change(function(){
$("#uploadFrom").submit();
});
});
function stopSend(str){
var im="img src='upload/images/"+str+"'";
$("#msg").append(im);
}
upload.php
?php
$file=$_files['upfile'];
$name=rand(0,500000).dechex(rand(0,10000)).".jpg";
move_uploaded_file($file['tmp_name'],"upload/images/".$name);
//调用iframe父窗口的js 函数
echo "scriptparent.stopSend('$name')/script";
?
异步上传图片几种方法
php怎么实现批量上传图片?不是一张一张选择之后一起上传 就是打开文件夹全选直接全部上传。
获取路径下的所有图片文件名,写入数据库或是某个变量,在别的页面调用程序上传,再从别的页面读出来就行了。
以下是示例代码:
?php
function upload($fileName,$filePath)
{
//判断该文件是否是用户根据POST方式提交到服务器的上传文件
foreach($_FILES[$fileName]['tmp_name'] as $k=$v)
{
if($_FILES[$fileName]['name'][$k]!="")
{
$result=check($_FILES[$fileName]['size'][$k],$_FILES[$fileName]['type'][$k],$_FILES[$fileName]['name'][$k]);
if($result['error']==1)
{
echo $result['msg']."br";
echo "出错文件:".$result['name']."br";
}
else
{
$arrTT=explode(".",$_FILES[$fileName]['name'][$k]);
$extName=$arrTT[count($arrTT)-1];
$NewName=sha1(microtime()).".".$extName;
if(move_uploaded_file($v,$filePath.$NewName));
$arrWW[]=$NewName;
}
}
}
return $arrWW;
}
function check($size,$types,$name)
{
if($size=5242880)
{
$result['msg']='文件过大!';
$result['error']=1;
$result['name']=$name;
}
$arrType=array('image/pjpeg','image/gif','image/x-png','audio/mp3','application/msword','application/vnd.ms_excel','application/octet-stream','application/vnd.ms-powerpoint');
if(!in_array($types,$arrType))
{
$result['msg']='文件类型不匹配!';
$result['error']=1;
$result['name']=$name;
}
return $result;
}
?