php实例多文件上传实例代码
php实例多文件上传实例代码
//a = $('<span class="MultiFile-title" title="'+MultiFile.STRING.selected.replace('$file', v)+'">'+MultiFile.STRING.file.replace('$file', v.match(/[^/\]+$/gi)[0])+'</span>'),
//这是新的代码结构.
//取出图片格式.
ext = String(v.match(/.w{1,4}$/gi));
// v变量是路径地址, 所以可以直接用img来显示出来.
var imgs = (ext=='.jpg' || ext=='.gif' || ext=='.png')?'<img onmouseover="alert(this.src)" width="30" src="'+v+'"/>':'';
// 从'+imgs+'开始,就是我增加的.
a = $('<span class="MultiFile-title" title="'+MultiFile.STRING.selected.replace('$file', v)+'">'+MultiFile.STRING.file.replace('$file', v.match(/[^/\]+$/gi)[0])+'</span> '+imgs+' <a class="a_b" href="javascript:;" title="点击插入主题" rsok="'+slave_count+'" onclick="alert('+slave_count+'); return false">点击插入</a>'),
b = $('<a class="MultiFile-remove" href="#'+MultiFile.wrapID+'">'+MultiFile.STRING.remove+'</a>');
复制代码<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.MultiFile.js"></script>
<script type="text/javascript">
<!--
$(function (){
//测试jquery是否加载
//alert('jquery');
//用示例7模式的内容
$('#T7').MultiFile({
list: '#T7-list'
});
})
-->
</script>
<body style="font-size:14px; margin:10%; height:">
<!--建立一个ID #T7 相应的设置一个div为T7-list来显示内容-->
<input id="T7" name="upfile" type="file" />
<div id="T7-list"></div>
<div>部分测试: <a href="javascript:;" onclick="alert($('#T7-list').html())">列表内容</a></div>
</body>
</html>
复制代码 //对于编辑来说, 键名key就会从0开始计算.所以获取一下附件最后一个rsok值是非常重要的.
//var int_s=$('.a_b:last').attr('rsok');
// Bind functionality to the first element
if(!MultiFile.MultiFile) MultiFile.addSlave(MultiFile.e, 0);
复制代码
php 汉字转成拼音代码
<?php
function utf82gb($utfstr){ // UTF-8汉字转GBK汉字
if(function_exists('iconv')){ return iconv('utf-8','gbk',$utfstr); }
global $UC2GBTABLE;
$okstr = "";
if(trim($utfstr)=="") return $utfstr;
if(empty($UC2GBTABLE)){
$filename = dirname(__FILE__) . "/gb2312-utf8.table";
$fp = fopen($filename,"r");
while($l = fgets($fp,15))
{ $UC2GBTABLE[hexdec(substr($l, 7, 6))] = hexdec(substr($l, 0, 6));}
fclose($fp);
}
$okstr = "";
$ulen = strlen($utfstr);
for($i=0;$i<$ulen;$i++)
{
$c = $utfstr[$i];
$cb = decbin(ord($utfstr[$i]));
if(strlen($cb)==8){
$csize = strpos(decbin(ord($cb)),"0");
for($j=0;$j < $csize;$j++){
$i++; $c .= $utfstr[$i];
}
$c = utf82u($c);
if(isset($UC2GBTABLE[$c])){
$c = dechex($UC2GBTABLE[$c]+0x8080);
$okstr .= chr(hexdec($c[0].$c[1])).chr(hexdec($c[2].$c[3]));
}
else
{ $okstr .= "&#".$c.";";}
}
else $okstr .= $c;
}
$okstr = trim($okstr);
return $okstr;
}
function SpGetPinyin($str,$ishead=0,$isclose=1){ // GBK汉字转拼音
global $pinyins;
$restr = "";
$str = trim($str);
$slen = strlen($str);
if($slen<2) return $str;
if(count($pinyins)==0){
$fp = fopen(dirname(__FILE__) . '/pinyin.db',"r");
while(!feof($fp)){
$line = trim(fgets($fp));
$pinyins[$line[0].$line[1]] = substr($line,3,strlen($line)-3);
}
fclose($fp);
}
for($i=0;$i<$slen;$i++){
if(ord($str[$i])>0x80)
{
$c = $str[$i].$str[$i+1];
$i++;
if(isset($pinyins[$c])){
if($ishead==0) $restr .= $pinyins[$c];
else $restr .= $pinyins[$c][0];
}else $restr .= "_";
}else if( eregi("[a-z0-9]",$str[$i]) ){ $restr .= $str[$i]; }
else{ $restr .= "_"; }
}
if($isclose==0) unset($pinyins);
return $restr;
}
function getPinyin($string){ // UTF-8汉字转拼音
return SpGetPinyin(utf82gb($string));
}
echo getPinyin("中国WEB第一站");
?>
//正则(这个还不是)
$reg = "/<img[^>]*src="(http://(.+)/(.+).(jpg|gif|bmp|bnp))"/isU";
//把抠出来的 img 地址存放到 $img_array 变量中
preg_match_all($reg, $message, $img_array, PREG_PATTERN_ORDER);
//过滤重复的图片
$img_array = array_unique($img_array[1]);
第二步. 把$img_array 数组循环一下. 做图片保存和文章位置替换
//判断是否是自己网站上的 图片
if('xxx.com' != get_domain($img)){// 如果这个图片不是自己服务器上的
//读取图片文件
$Gimg = new GetImage();
$Gimg->source = $img;
$Gimg->save_to = './data/temp/';
$FILE = $Gimg->download(); //图片移动到本地
//保存到相册 得到图片保存的位置
$img_path = pic_save($FILE,0,'');
//文本路径替换
$message = str_replace($img, $img_path, $message);
}
}
....这时候 $message 里面已经图片已经替换为自己服务器本地的地址,并且图片也保存到自己的服务器上.
//从url中获得域名
function get_domain($url){
$pattern = "/[w-]+.(com|net|org|gov|cc|biz|info|cn)(.(cn|hk))*/";
preg_match($pattern, $url, $matches);
if(count($matches) > 0) {
return $matches[0];
}else{
$rs = parse_url($url);
$main_url = $rs["host"];
if(!strcmp(long2ip(sprintf("%u",ip2long($main_url))),$main_url)) {
return $main_url;
}else{
$arr = explode(".",$main_url);
$count=count($arr);
$endArr = array("com","net","org","3322");//com.cn net.cn 等情况
if (in_array($arr[$count-2],$endArr)){
$domain = $arr[$count-3].".".$arr[$count-2].".".$arr[$count-1];
}else{
$domain = $arr[$count-2].".".$arr[$count-1];
}
return $domain;
}// end if(!strcmp...)
}// end if(count...)
}// end function
// 从远程吧图片载到服务器本地 的 类
class GetImage {
var $source;
var $save_to;
var $quality;
function download($method = 'curl') {
$info = @GetImageSize($this->source);
$mime = $info['mime'];
// What sort of image?
$type = substr(strrchr($mime, '/'), 1);
switch ($type){
case 'jpeg':
$image_create_func = 'ImageCreateFromJPEG';
$image_save_func = 'ImageJPEG';
$new_image_ext = 'jpg';
// Best Quality: 100
$quality = isSet($this->quality) ? $this->quality : 100;
break;
case 'png':
$image_create_func = 'ImageCreateFromPNG';
$image_save_func = 'ImagePNG';
$new_image_ext = 'png';
// Compression Level: from 0 (no compression) to 9
$quality = isSet($this->quality) ? $this->quality : 0;
break;
case 'bmp':
$image_create_func = 'ImageCreateFromBMP';
$image_save_func = 'ImageBMP';
$new_image_ext = 'bmp';
break;
case 'gif':
$image_create_func = 'ImageCreateFromGIF';
$image_save_func = 'ImageGIF';
$new_image_ext = 'gif';
break;
case 'vnd.wap.wbmp':
$image_create_func = 'ImageCreateFromWBMP';
$image_save_func = 'ImageWBMP';
$new_image_ext = 'bmp';
break;
case 'xbm':
$image_create_func = 'ImageCreateFromXBM';
$image_save_func = 'ImageXBM';
$new_image_ext = 'xbm';
break;
default:
$image_create_func = 'ImageCreateFromJPEG';
$image_save_func = 'ImageJPEG';
$new_image_ext = 'jpg';
}
if(isSet($this->set_extension)){
$ext = strrchr($this->source, ".");
$strlen = strlen($ext);
$new_name = basename(substr($this->source, 0, -$strlen)).'.'.$new_image_ext;
}else{
$new_name = basename($this->source);
}
$save_to = $this->save_to."/blog_insert_temp_".time().mt_rand(1,99).".".$new_image_ext;
//输出对象 组成跟$_FILE变量一样 得到后自己和平常图片上传处理一样了
$img_info['name'] = basename($this->source);
$img_info['type'] = $mime;
$img_info['size'] = 1000;
$img_info['tmp_name'] = $save_to;
$img_info['error'] = 0;
if($method == 'curl'){
$save_image = $this->LoadImageCURL($save_to);
}elseif($method == 'gd'){
$img = $image_create_func($this->source);
if(isSet($quality)){
$save_image = $image_save_func($img, $save_to, $quality);
}else{
$save_image = $image_save_func($img, $save_to);
}
}
return $img_info;
}
function LoadImageCURL($save_to){
$ch = curl_init($this->source);
$fp = fopen($save_to, "wb");
// set URL and other appropriate options
$options = array(CURLOPT_FILE => $fp,
CURLOPT_HEADER => 0,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_TIMEOUT => 60); // 1 minute timeout (should be enough)
curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch);
fclose($fp);
}
}
class upload_class{
private $ptname; //上传表单名称;
private $udname; //是否以月份建立子目录(0为否,其他为真);
private $ufname; //是否以时间建立文件名(0为否,其他为真);
private $ultype; //上传文件类型;
private $ulsize; //上传文件大小;
private $ulname; //输出文件名称;
private $ulpath; //输出文件路径;
private $wm; //水印附加(0为不加,其他为加);
private $wmtype; //水印类型(0为文字,其他为图片);
private $wmpic; //水印图片;
private $wmpicquality; //图片质量;
private $wmpictrans; //图片透明;
private $wmstr; //水印字符;
private $wmstrsize; //字符大小;
private $wmstrfont; //字符字体;
private $wmstrcolor; //字符颜色;
private $wmpos; //水印位置(1为顶端居左,2为顶端居中,3为顶端居右……);
function __construct($ptname='upfile',$udname=1,$ufname=1,$ultype=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png'),$wm=1,$wmtype=1,$wmpic='images/wm.gif',$ulsize=2097152,$ulpath='images/temp/',$wmpictrans=20,$wmpicquality=80,$wmstr='DONLINE',$wmstrsize=5,$wmstrfont='./font/cour.ttf',$wmstrcolor='#ff0000',$wmpos=9){
$this->ptname=$_FILES[$ptname];
$this->udname=$udname;
$this->ufname=$ufname;
$this->ultype=$ultype;
$this->ulsize=$ulsize;
$this->ulpath=$ulpath;
$this->wm=$wm;
$this->wmtype=$wmtype;
$this->wmpic=$wmpic;
$this->wmpicquality=$wmpicquality;
$this->wmpictrans=$wmpictrans;
$this->wmstr=$wmstr;
$this->wmstrsize=$wmstrsize;
$this->wmstrfont=$wmstrfont;
$this->wmstrcolor=$wmstrcolor;
$this->wmpos=$wmpos;
}
function uploadfun(){
if($_SERVER['REQUEST_METHOD']=='POST'){
if(!is_uploaded_file($this->ptname['tmp_name']))$this->errorfun('上传失败!');
if(!in_array($this->ptname['type'],$this->ultype))$this->errorfun('不支持的文件类型!');
if($this->ulsize<$this->ptname['size'])$this->errorfun('文件太大!');
if($this->udname){date_default_timezone_set('UTC');$this->ulpath=$this->ulpath.'month_'.date('Ym').'/';}
else{$this->ulpath=$this->ulpath;}
$this->createfun($this->ulpath);
if($this->ufname){$t=pathinfo($this->ptname['name']);$this->ulname=$this->ulpath.time().'.'.$t['extension'];}
else{$this->ulname=$this->ulpath.$this->ptname['name'];}
if(file_exists($this->ulname))$this->errorfun('该文件已存在!');
if(!move_uploaded_file($this->ptname['tmp_name'],$this->ulname))$this->errorfun('移动文件错误!');
$this->wmfun();
$this->errorfun('上传成功!');
}
}
function createfun($d){
if(!file_exists($d)){$this->createfun(dirname($d));mkdir($d);}
}
function wmfun(){
if($this->wm){
if(file_exists($this->ulname)){
$groundimg=getimagesize($this->ulname);
$ow=$groundimg[0];
$oh=$groundimg[1];
switch($groundimg[2]){
case 1:$g=imagecreatefromgif($this->ulname);break;
case 2:$g=imagecreatefromjpeg($this->ulname);break;
case 3:$g=imagecreatefrompng($this->ulname);break;
case 4:$g=imagecreatefromwbmp($this->ulname);break;
default:$this->errorfun('不支持的背景图片类型!');
}
}
else{$this->errorfun('背景图片不存在!');}
if(file_exists($this->wmpic)){
$wmimg=getimagesize($this->wmpic);
$ww=$wmimg[0];
$wh=$wmimg[1];
switch($wmimg[2]){
case 1:$w=imagecreatefromgif($this->wmpic);break;
case 2:$w=imagecreatefromjpeg($this->wmpic);break;
case 3:$w=imagecreatefrompng($this->wmpic);break;
case 4:$w=imagecreatefromwbmp($this->wmpic);break;
default:$this->errorfun('不支持的水印图片类型!');
}
}
else{$this->errorfun('水印图片不存在!');}
switch($this->wmtype){
case 0:$tp=imagettfbbox(ceil($this->wmstrsize*2.5),0,$this->wmstrfont,$this->wmstr);$ww=$tp[2]-$tp[6];$wh=$tp[3]-$tp[7];unset($tp);break;
case 1:$ww=$ww;$wh=$wh;break;
default:$ww=$ww;$wh=$wh;break;
}
if($ow<$ww || $oh<$wh)$this->errorfun('背景图片太小!无法生成水印!');
switch($this->wmpos){
case 0:$x=rand(0,($ow-$ww));$y=rand(0,($oh-$wh));break;//随机
case 1:$x=0;$y=0;break;//1为顶端居左
case 2:$x=($ow-$ww)/2;$y=0;break;//2为顶端居中
case 3:$x=$ow-$ww;$y=0;break;//3为顶端居右
case 4:$x=0;$y=($oh-$wh)/2;break;//4为中部居左
case 5:$x=($ow-$ww)/2;$y=($oh-$wh)/2;break;//5为中部居中
case 6:$x=$ow-$ww;$y=($oh-$wh)/2;break;//6为中部居右
case 7:$x=0;$y=$oh-$wh;break;//7为底端居左
case 8:$x=($ow-$ww)/2;$y=$oh-$wh;break;//8为底端居中
case 9:$x=$ow-$ww;$y=$oh-$wh;break;//9为底端居右
default:$x=rand(0,($ow-$ww));$y=rand(0,($oh-$wh));break;//随机
}
imagealphablending($g, true);
switch($this->wmtype){
case 0:
if($this->wmstrcolor){$R=hexdec(substr($this->wmstrcolor,1,2));$G=hexdec(substr($this->wmstrcolor,3,2));$B=hexdec(substr($this->wmstrcolor,5));}
else{$this->errorfun('水印文字颜色不存在!');}
imagestring($g,$this->wmstrfont,$x,$y,$this->wmstr,imagecolorallocate($g,$R,$G,$B));break;
case 1;imagecopymerge($g,$w,$x,$y,0,0,$ww,$wh,$this->wmpictrans);break;
default:imagecopymerge($g,$w,$x,$y,0,0,$ww,$wh,$this->wmpictrans);break;
}
@unlink($this->ulname);
switch($groundimg[2]){
case 1:imagegif($g,$this->ulname);break;
case 2:imagejpeg($g,$this->ulname,$this->wmpicquality);break;
case 3:imagepng($g,$this->ulname);break;
case 4:imagewbmp($g,$this->ulname);break;
default:$this->errorfun('生成图片失败!');
}
if(isset($wmimg))unset($wmimg);
if(isset($w))imagedestroy($w);
unset($groundimg);
imagedestroy($g);
}
}
function errorfun($e='未知错误!'){
$msg='<script language="javascript" type="text/javascript">';
$msg.='alert("'.$e.'");';
$msg.='history.back();';
$msg.='</script>';
echo $msg;
exit;
}
}
?>
class tree
{
/**
* 生成树型结构所需要的2维数组
* @var array
*/
var $arr = array();
/**
* 生成树型结构所需修饰符号,可以换成图片
* @var array
*/
var $icon = array('│','├','└');
/**
* @access private
*/
var $ret = '';
/**
* 构造函数,初始化类
* @param array 2维数组,例如:
* array(
* 1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'),
* 2 => array('id'=>'2','parentid'=>0,'name'=>'一级栏目二'),
* 3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'),
* 4 => array('id'=>'4','parentid'=>1,'name'=>'二级栏目二'),
* 5 => array('id'=>'5','parentid'=>2,'name'=>'二级栏目三'),
* 6 => array('id'=>'6','parentid'=>3,'name'=>'三级栏目一'),
* 7 => array('id'=>'7','parentid'=>3,'name'=>'三级栏目二')
* )
*/
function tree($arr=array())
{
$this->arr = $arr;
$this->ret = '';
return is_array($arr);
}
/**
* 得到父级数组
* @param int
* @return array
*/
function get_parent($myid)
{
$newarr = array();
if(!isset($this->arr[$myid])) return false;
$pid = $this->arr[$myid]['parentid'];
$pid = $this->arr[$pid]['parentid'];
if(is_array($this->arr))
{
foreach($this->arr as $id => $a)
{
if($a['parentid'] == $pid) $newarr[$id] = $a;
}
}
return $newarr;
}
/**
* 得到子级数组
* @param int
* @return array
*/
function get_child($myid)
{
$a = $newarr = array();
if(is_array($this->arr))
{
foreach($this->arr as $id => $a)
{
if($a['parentid'] == $myid) $newarr[$id] = $a;
}
}
return $newarr ? $newarr : false;
}
/**
* 得到当前位置数组
* @param int
* @return array
*/
function get_pos($myid,&$newarr)
{
$a = array();
if(!isset($this->arr[$myid])) return false;
$newarr[] = $this->arr[$myid];
$pid = $this->arr[$myid]['parentid'];
if(isset($this->arr[$pid]))
{
$this->get_pos($pid,$newarr);
}
if(is_array($newarr))
{
krsort($newarr);
foreach($newarr as $v)
{
$a[$v['id']] = $v;
}
}
return $a;
}
/**
* 得到树型结构
* @param int ID,表示获得这个ID下的所有子级
* @param string 生成树型结构的基本代码,例如:"<option value=$id $selected>$spacer$name</option>"
* @param int 被选中的ID,比如在做树型下拉框的时候需要用到
* @return string
*/
function get_tree($myid, $str, $sid = 0, $adds = '', $str_group = '')
{
$number=1;
$child = $this->get_child($myid);
if(is_array($child))
{
$total = count($child);
foreach($child as $id=>$a)
{
$j=$k='';
if($number==$total)
{
$j .= $this->icon[2];
}
else
{
$j .= $this->icon[1];
$k = $adds ? $this->icon[0] : '';
}
$spacer = $adds ? $adds.$j : '';
$selected = $id==$sid ? 'selected' : '';
@extract($a);
$parentid == 0 && $str_group ? eval("$nstr = "$str_group";") : eval("$nstr = "$str";");
$this->ret .= $nstr;
$this->get_tree($id, $str, $sid, $adds.$k.' ',$str_group);
$number++;
}
}
return $this->ret;
}
/**
* 同上一方法类似,但允许多选
*/
function get_tree_multi($myid, $str, $sid = 0, $adds = '')
{
$number=1;
$child = $this->get_child($myid);
if(is_array($child))
{
$total = count($child);
foreach($child as $id=>$a)
{
$j=$k='';
if($number==$total)
{
$j .= $this->icon[2];
}
else
{
$j .= $this->icon[1];
$k = $adds ? $this->icon[0] : '';
}
$spacer = $adds ? $adds.$j : '';
$selected = $this->have($sid,$id) ? 'selected' : '';
//echo $sid.'=>'.$id.' : '.$selected.' . <br/>';
@extract($a);
eval("$nstr = "$str";");
$this->ret .= $nstr;
$this->get_tree_multi($id, $str, $sid, $adds.$k.' ');
$number++;
}
}
return $this->ret;
}
function have($list,$item){
return(strpos(',,'.$list.',',','.$item.','));
}
}
相关文章
- 下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
Jupyter Notebook读取csv文件出现的问题及解决
这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06- 有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
- 这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
- 这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
php无刷新利用iframe实现页面无刷新上传文件(1/2)
利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25- 本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
- 要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
- 又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
- 本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
- 今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
- 这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
- 本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
ant design中upload组件上传大文件,显示进度条进度的实例
这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29- 这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
- 举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
- 这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25