php批量上传五[带预览]

 更新时间:2016年11月25日 16:11  点击:2103

$path=$_SERVER["DOCUMENT_ROOT"];//服务器路径        
$i = 0;                 
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
            
        $upload_file=$_FILES['pictures']['tmp_name'][$key];//文件被上传后在服务端储存的临时文件名

        $imgtype = strtolower(strrchr($_FILES['pictures']['name'][$key],"."));

        $name_1 = strtolower(substr($_FILES["pictures"]["name"][$key],0,2));

        $upload_file_name= "lanmayi_".time().$name_1.$imgtype;//以字母及系统时间的秒来做文件名

        $store_dir = $path."/up_img/";// 上传文件的储存位置

        $file_size_max = 100000000000;// 1M限制文件上传最大容量(bytes)

        $accept_overwrite = 0;//是否允许覆盖相同文件

        move_uploaded_file($upload_file,$store_dir.$upload_file_name);         

        $new_img_name = $upload_file_name;
                        
        $new_img_type = substr($imgtype,1,3);
                          
        $new_img_path = $store_dir;
                        
        $suo_name = Makesuo ($new_img_path,$new_img_name,$new_img_type);         
               
                $sh_time = date('Y-m-d H:i:s');
               
                $name = $_POST['name'];
               
                $pid = $id;
               
                $sql = "insert into lanmayi_img_show(pid,sh_name,sh_url,sh_suo,sh_time) values (".$pid.",'".$name[$i]."','".$upload_file_name."','".$suo_name."','".$sh_time."')";
               
                $res = mysqli_query($conn,$sql);
                        
                $i++;
     }

}
//*批量上传结束********************************************************
?>
<script language="javascript">
alert("图片上传成功!")
</script>
<?php
}



if($_POST['fanhui']){
?>
<script language="javascript">
window.location='pro_list.php?id=<?php echo $id?>';
</script>
<?php
}

?>

Apache Rewrite实例2007-03-04 11:25<VirtualHost *:80>
    ServerAdmin host@discuz.com
    DocumentRoot D:/www
    ServerName www.xiaojia.com
    ServerAlias xiaojia.com xiaojia.net
    ErrorLog D:/www/logs/xiaojia.com-error_log
    CustomLog D:/www/logs/xiaojia.com-access_log%Y%m%d combined
#    Alias /upimg "/home/www/wwwroot/phpchina.cn/upimg/"
#    Alias /wiki "/home/www/wwwroot/phpchina.cn/wiki/"
    <IfModule mod_rewrite.c>
    RewriteEngine On
#    RewriteCond %{HTTP_HOST} !111cn.net [OR]
#    RewriteCond %{HTTP_HOST} !www.111cn.net
#    RewriteRule ^(.*)$ http://www.111cn.net$1 [R=301,L]
    RewriteRule ^(.*)/archiver/([a-z0-9\-]+\.html)$ $1/archiver/index.php?$2
    RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
    RewriteRule ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3
    </IfModule>

</VirtualHost>

先看htm文件吧

 <html>
<head>
<title><{$title}></title>
<{$xajax_javascript}><{*使smarty支持xajax*}>
</head>

<body>
<form  name="check" >
请输入用户名:
  <input type="text" name="username" />
  <input type="button" name="button" value="检查用户名"  />
  <div id="result"></div>
</form>
</body>
</html>

php处理代码

<?php

  /*****************************************

   Title :smarty结合xajax检测用户名简单实例
   Author:leehui1983(辉老大)
   Finish Date  :2006-12-09

  *****************************************/

  //为避免中文乱码,需要在 xajax.inc.php 需要改一下默认的encoding:define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gbk' )UTF8编码格式文件不需要更改

  require_once('./libs/Smarty.class.php');//包含smarty类库
  require('./xajax/xajax.inc.php');//包含xajax类库

  function checkusername($textvalue){//编写需要的PHP函数
       $checkresult=($textvalue=='test' ? '<font color=red>该用户名已经注册</font>' :'<font color=red>可以注册</font>');
       $objresponse=new xajaxResponse();//实例化xajaxresponse对象
       $objresponse->addassign("result","innerHTML",$checkresult);//指定ID为result的元素中添加内容$checkresult
       return $objresponse;//返回结果文本
  }

  $xajax=new xajax();//实例化xajax对象
  $smarty=new Smarty();//实例化smarty对象
  $smarty->template_dir = "./templates";//设置模板目录
  $smarty->compile_dir = "./templates_c"; //设置编译目录
  $smarty->caching = false; //设置缓存方式
  /*****************************************************
  左右边界符,默认为{},但实际应用当中容易与JavaScript
  相冲突,所以建议设成<{}>或其它。
  *****************************************************/
  $smarty->left_delimiter = "<{";
  $smarty->right_delimiter = "}>";


  $xajax->registerFunction("checkusername");//注册checkusername函数
  $xajax->processRequests();//调用xajax用于接管请求
 
  $smarty->assign('xajax_javascript', $xajax->getJavascript('./xajax/'));//输出JS代码,注意('./xajax/')中参数为xajax.inc.php父目录,在同意目录下可不同填写,否则必须填写
  $smarty->assign('title','smarty结合xajax检测用户名简单实例');//替换模板内容
  $smarty->display('index.tpl');//显示模板内容
?>

 

<html>
<head>
<title>filemanage</title>
</head>
<body>
<center>
<p><h2>文件管理</h2></p><br>
<table border=1><tr size=18>
<td>文件ID</td><td>文件名称</td><td>文件大小</td><td>上传时间</td><td>下载</td><td>删除</td></tr>
<?php
include("conn.php");
//echo '<table border=1>';
$rs=$db->query("select * from filem order by f_id DESC");
$i=1;
while($row = $rs->fetch_assoc())      
{
 $size=$row['f_size']/1024;
echo "<tr><td>".$i++."</td><td>".$row['f_name']."</td><td>".number_format($size, 2, '.', '')."KB</td><td>".$row['f_date']."</td><td><a href=".$row['f_url']." target=_blank>下载</a></td><td><a href=del.php?id=".$row['f_id'].">删除</a></td></tr>"; 
}
echo '</table>';
unset($rs);
$db->close();
?>
</center>
<br><br><hr><br>
<b><h2>uploadfile</h2></b>
<br>
<form enctype="multipart/form-data" action="" method="post">
选择上传文件:<br><input name="userfile" type="file"><br>
<input type="submit" value="发送">
</form>
<?php
 if(!$_FILES["userfile"]["name"])  exit;
//echo $_FILES['userfile']['type'];
if ($_FILES['userfile']['error'] > 0)
  {
    echo 'Problem: ';
    switch ($_FILES['userfile']['error'])
    {
      case 1:  echo 'File exceeded upload_max_filesize';  break;
      case 2:  echo '不能超过800M';  break;
      case 3:  echo 'File only partially uploaded';  break;
      case 4:  echo 'No file uploaded';  break;
    }
    exit;
  }
else
{ //检查上传文件是否在允许上传的类型
   $tp = array("gif","jpeg","png","txt","doc","rar","zip","xls","bmp","wmv","mp3","flv","rmvb","avi");
if (!in_array(strtolower(substr(strrchr($_FILES['userfile']['name'], '.'),1)), $tp))

   {
    echo '文件类型错误,请重新选择文件!<br>只允许rar,zip,jpg,gif,txt,png,bmp,xls类型的文件';
    exit;
   }

   $path="./file/";        //上传路径

   if(file_exists($path.$_FILES['userfile']['name']))    //判断文件是否存在
   {
    echo '文件已存在,请更改后重新上传!';
    exit;
   }

   if($_FILES["userfile"]["name"])
   {
        $file1=$_FILES["userfile"]["name"];
        $file2 = $path.$file1;
        $flag=1;
   }
   if($flag)
       $result=move_uploaded_file($_FILES["userfile"]["tmp_name"],$file2);
   //特别注意这里传递给move_uploaded_file的第一个参数为上传到服务器上的临时文件
   if($result)
      {
        
         $time=date("Y-m-d");
     //   $url=$patch.$name;
        $size=$_FILES["userfile"]["size"];
         include("conn.php");
         $rs=$db->query("insert into filem(f_name,f_url,f_date,f_size) values('$file1','$file2','$time','$size')");
    //     $rs=$db->query($sql);
       echo "<script language='javascript'>location='index.php';</script>";
      }
   unset($rs);
   $db->close();

}
?>
</body>
</html>

我想用ADODB实现事务,让两条update语句要么都做要么都不做,但是却始终不成功。代码如下:

<?php
$db = NewADOConnection('mysql'); //创建一个ADODB连接对象
$mysql_conn = $db->Connect("localhost","root","", "anna");

$db->BeginTrans();
$ok = $db->Execute("update user set user_name= '098'where id=3");
if($ok)
$ok=$db->Execute("update user set user_name= where id=2");
if ($ok) {$db->CommitTrans();}
else {$db->RollbackTrans(); }
?>

结果却是第一条语句成功了,第二条没有成功。
但是同样我用MYSQL自带的函数却可以实现我要的功能,代码如下:

<?php
mysql_query("SET AUTOCOMMIT=0");
$ok1 = $db->Execute("update user set user_name= '098'where id=3");
$ok2=$db->Execute("update user set user_name= where id=2");
if ($ok1 && $ok2 ){ mysql_query("COMMIT");}
else  {mysql_query("ROLLBACK");}
?>

[!--infotagslink--]

相关文章

  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • jQuery实现简单的文件上传进度条效果

    本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • EXCEL数据上传到SQL SERVER中的简单实现方法

    EXCEL数据上传到SQL SERVER中的方法需要注意到三点!注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.做法: 在ASP.NET环境中,添加一个FileUpload上传控件后台代码的E.X: 复制代码 代码如下: if...2013-09-23
  • DWVA上传漏洞挖掘的测试例子

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞...2016-11-25
  • PHP swfupload图片上传的实例代码

    PHP代码如下:复制代码 代码如下:if (isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) { $upload_file = $_FILES['Filedata']; $fil...2013-10-04
  • 百度编辑器ueditor修改图片上传默认路径

    本案例非通用,仅作笔记以备用 修改后的结果是 百度编辑器里上传的图片路径为/d/file/upload1...2014-07-03
  • SpringMVC文件上传原理及实现过程解析

    这篇文章主要介绍了SpringMVC文件上传原理及实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-15
  • 借助FileReader实现将文件编码为Base64后通过AJAX上传

    这篇文章主要介绍了借助FileReader实现将文件编码为Base64后通过AJAX上传的方法,包括后端对文件数据解码并保存的PHP代码,需要的朋友可以参考下...2015-12-25
  • PHP的APC模块实现上传进度条

    APC模块,它的全称是Alternative PHP Cache。APC可以将所有PHP代码会被缓存起来, 另外它可提供一定的内存缓存功能.但是这个功能并不是十分完美,有报告说如果频繁使用APC缓存的写入功能,会导致不可预料的错误.如果想使用...2015-10-30
  • js实现上传文件添加和删除文件选择框

    这篇文章主要为大家详细介绍了js实现上传文件添加和删除文件选择框 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-25
  • jQuery+ajax简单实现文件上传的方法

    这篇文章主要介绍了jQuery+ajax简单实现文件上传的方法,结合实例形式简单分析了jQuery基于ajax的post方法进行文件传输及asp.net后台处理技巧,需要的朋友可以参考下...2016-06-12
  • smartupload实现文件上传时获取表单数据(推荐)

    这篇文章主要介绍了smartupload实现文件上传时获取表单数据的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2017-01-09
  • 适用于初学者的简易PHP文件上传类

    本文实例讲述了PHP多文件上传类,分享给大家供大家参考。具体如下:<&#63;phpclass Test_Upload{ protected $_uploaded = array(); protected $_destination; protected $_max = 1024000; protected $_messages =...2015-10-30
  • Java实现将图片上传到webapp路径下 路径获取方式

    这篇文章主要介绍了Java实现将图片上传到webapp路径下 路径获取方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-11-12
  • BootStrap Progressbar 实现大文件上传的进度条的实例代码

    这篇文章主要介绍了BootStrap Progressbar 实现大文件上传的进度条的实例代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-07-01
  • js 实现文件上传样式详情

    这篇文章主要介绍了js 实现文件上传样式,下面文章举例说明js 是如何实现文件上传样式的,附有代码详细解说,需要的朋友可以参考一下,希望对你有所帮助...2021-10-21