多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP上传图片三个步骤详细分析

时间:2018-03-10 16:54:12 [来源]:郑州PHP培训学校

   PHP上传图片三个步骤详细分析

  这里详细的介绍了怎样利用PHP上传图片,文章有详细的步骤和相应的函数介绍,希望对大家有帮助。
  学习PHP时,你可能会遇到PHP上传图片问题,这里将介绍PHP上传图片问题的解决方法,在这里拿出来和大家分享一下。今天我们就开始一起学习PHP上传图片。上传图片原理:首先判断文件类型是否为图片格式,若是则上传文件,然后重命名文件(一般都是避免上传文件重名,现在基本上都是以为时间来命名),接着把文件上传到指定目录,成功上传后输出上传图片的预览。
  1.首先我们开始判断文件类型是否为图片类型用到的函数{
  strrchr:查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
  substr: 取部份字符串。
  $HTTP_POST_FILES['file']['name']:获取当前上传的文件全称。
  }
  图片类型就是“.”后面的字符(比如:一个文件名称为XXX.JPG 那么它的类型就是“.”后面的JPG)。 我们可以用PHP中的函数来截取上传者文件名字的。我们来写个获取文件类型的函数<?
  function type()
  {
  return substr(strrchr($HTTP_POST_FILES['file']['name'],'.'),1);}
  ?>
  2.若是则上传文件,然后重命名文件用到的函数{
  strtolower:把字符串的字母全部转换为小写字母.
  in_array: 函数在数组中搜索给定的值。
  implode:函数把数组元素组合为一个字符串
  random:随机生成的数
  $_FILES['userfile']['name']:上传文件名称
  $uploaddir:自己定义的变量。比如在同一个文件夹里面,你想把上传的文件放到这个文件夹的FILE文件夹下,你可以这样定义$uploaddir="./file/";注意写法}
  利用文件函数实现PHP文件上传案例分析
  老鸟谈PHP上传文件discuz实现
  演示实现PHP上传文件代码
  实战PHP上传文件代码演示
  经验总结:示例PHP上传文件代码
  这边会出现很多问题,第一先写一个能上传类型的数组。第二判断文件合法性。第三给文件重名。*(这边判断文件大小就不写了)先定义允许上传文件的类型数组:$type=array("jpg","gif","bmp","jpeg","png");第二用一个IF。。else。。写一个判断文件合法性的控制流语句。
  if(!in_arry(strtolower(type()),$type))//如果不存在能上传的类型{
  $text=implode('.',$type);
  echo "您只能上传以下类型文件: ",$text,"<br>";}
  下面就是给他们重新命名了,
  else
  {
  $filename=explode(".",$_FILES['userfile']['name']);//把上传的文件名以“.”好为准做一个数组。
  $time=date("m-d-H-i-s");//去当前上传的时间$filename[0]=$time;//取文件名t替换
  name=implode(".",$filename); //上传后的文件名$uploadfile=$uploaddir.$name;//上传后的文件名地址}
  3.最后把文件上传到指定目录,成功上传后输出上传图片的预览用到的函数{
  move_uploaded_file:执行上传文件
  }
  if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){
  echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";echo"<br><center><a href='javascrīpt:history.go(-1)'>继续上传</a></center>";}
  else
  {
  echo"传输失败!";
  }
  这样就OK 一个简单的上传图片的程序写完。假如你还想完善你的功能你可以自己添加!
  实战PHP上传文件代码演示
  PHP是一种简单而强大的语言,受到了大部分人的喜爱,文章这里示例了PHP上传文件代码,希望对大家有帮助。
  PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下PHP上传文件代码,和大家讨论讨论。PHP本身是一种简单而强大的语言。PHP语言拥有核心特性如强大的字符串和数组处理能力,同时极大的改进了对面向对象编程的支持(PHP5以上版本)。通过使用标准的和可选的扩展模块,PHP应用程序可以连接MySQL或Oracle等十几种数据库、绘图、创建PDF文件和创建解析XML文件。你也可以使用C语言来写自己的PHP扩展模块。
  基于nginx的PHP本地测试环境构建软件piny
  PHP5.3闭包特性及应用详解
  Visual Studio下的PHP开发工具 VS.PHP初
  PHP之父离开雅虎 自称“离开了最好的工作
  新手指南何为PHP语言
  例如,在已存在的代码库中提供一个PHP的接口函数。你也可以在Windows下运行PHP,使用COM控制其它诸如Word和Excel的Windows应用程序,或者使用ODBC来连接数据库。在国内,PHP曾经和微软的ASP并驾齐驱,是大家常用的网络编程语言。 ASP3.0现在早已经被微软放弃了,不再更新,也许有人会认为:PHP应该也是个快作古的东西了吧?然而事实恰恰相反,PHP不仅在高速发展,把ASP远远抛在身后,而且渐渐成为现在互联网上使用最为广泛、最热门的语言。
  PHP上传文件代码
  <html><head>
  <title>上载文件表单</title></head>
  <body>
  <form enctype="multipart/form-data" action="" method="post">
  请选择文件: <br>
  <input name="upload_file" type="file"><br>
  <input type="submit" value="上传文件">
  </form>
  </body>
  </html>
  <?
  $upload_file=$_FILES['upload_file']['tmp_name'];$upload_file_name=$_FILES['upload_file']['name'];if($upload_file){
  $file_size_max = 1000*1000;// 1M限制文件上传最大容量(bytes)$store_dir = "d:/";// 上传文件的储存位置
  $accept_overwrite = 1;//是否允许覆盖相同文件// 检查文件大小
  if ($upload_file_size > $file_size_max) {echo "对不起,你的文件容量大于规定";
  exit;
  }
  // 检查读写文件
  if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {Echo "存在相同文件名的文件";
  exit;
  }
  //复制文件到指定目录
  if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {echo "复制文件失败";
  exit;
  }
  }
  Echo "<p>你上传了文件:";
  echo$_FILES['upload_file']['name'];
  echo "<br>";
  //客户端机器文件的原名称。
  Echo "文件的 MIME 类型为:";
  echo $_FILES['upload_file']['type'];
  //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
  echo "<br>";
  Echo "上传文件大小:";
  echo $_FILES['upload_file']['size'];
  //已上传文件的大小,单位为字节。
  echo "<br>";
  Echo "文件上传后被临时储存为:";
  echo $_FILES['upload_file']['tmp_name'];
  //文件被上传后在服务端储存的临时文件名。
  echo "<br>";
  $Erroe=$_FILES['upload_file']['error'];
  switch($Erroe){
  case 0:
  Echo "上传成功"; break;
  case 1:
  Echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;case 2:
  Echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";break;case 3:
  Echo "文件只有部分被上传";break;
  case 4:
  Echo "没有文件被上传";break;
  }
  ?>
  以上就是详细的PHP上传文件代码,希望对大家有帮助。
  演示实现PHP上传文件代码
  在我们的PHP编程中可能会遇到PHP上传文件的问题,文章这里详细的介绍了PHP上传文件代码,希望对大家有帮助。
  PHP还是比较常用的,相信大家也都知道它的好处,给大家演示一个PHP上传文件代码,下面我们来一起看看吧。通过memory_limit变量来指定单个脚本程序可以使用的最大内存容量变量memory_limit的值应当适当大于post_max_size的值max_execution_time,max_execution_time设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算。
  基于nginx的PHP本地测试环境构建软件piny
  PHP5.3闭包特性及应用详解
  Visual Studio下的PHP开发工具 VS.PHP初
  PHP之父离开雅虎 自称“离开了最好的工作
  新手指南何为PHP语言
  当脚本进入了一个无限循环状态时此变量非常有用。然而,当存在一个需要很长时间完成的合法活动时(例如上传大型文件),这项功能也会导致操作失败。在这样的情况下必须考虑将此变量值增加,以避免PHP在脚本正在执行某些重要过程的时候将脚本关闭对于linux主机,可能在/etc/httpd/conf.d/access.conf/下面里面还有php.conf文件,这个文件可能会解决一些系统的文件大小限制问题。
  PHP上传文件代码
  <?php
  $file=$_FILES['userfile1']['tmp_name'];
  $filename=$_FILES['userfile1']['name'];
  $x=rand(1000,9999);
  $tmp_add_pd_path="./upload/".$x.".jpg";
  if(!$file||$file=="none"){
  echo"no";
  }
  else{
  if(move_uploaded_file($file,$tmp_add_pd_path)){echo$filename;
  $db=mysql_connect("localhost","root","wyh7ye");mysql_select_db("test",$db);
  $query="INSERTintoproduct(name)values('$tmp_add_pd_path')";$result=mysql_query($query,$db);
  $pid="SELECTLAST_INSERT_ID()";
  $pid_result=mysql_query($pid,$db);
  $rows=mysql_fetch_array($pid_result);
  $tmp_pid=$rows[0];
  $tmp_p_type_sql="INSERTintot_product(typeid,pid)values('$p_type','$tmp_pid')";$result=mysql_query($tmp_p_type_sql,$db);echo"sucess";
  }
  else{
  echo"false";
  }
  }
  ?>
  <br><br><br><br>
  <?php
  $db=mysql_connect("localhost","root","wyh7ye");mysql_select_db("test",$db);
  $query="selectnamefromproduct";
  $result=mysql_query($query,$db);
  while($rows=mysql_fetch_array($result)){
  echo"<imgsrcimgsrc=".$rows['name']."width=180180height=180><br>";}
  ?>
  以上就是详细的PHP上传文件代码,希望对大家有帮助。
 

上一篇:挖掘PHP上传文件类型原理实现

下一篇:PHP程序加速探索之服务器负载测试