`
xfcode
  • 浏览: 23484 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

php上传图片的原理分析

    博客分类:
  • php
阅读更多
在php编程中,有关php上传图片的问题,随时会遇到。

php上传图片的原理:首先判断文件类型是否为图片格式,若是则上传文件,然后重命名文件,接着把文件上传到指定目录,成功上传后输出上传图片的预览。

1、首先判断文件类型是否为图片类型用到的函数
   {
    strrchr:查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
    substr: 取部份字符串。
    $HTTP_POST_FILES['file']['name']:获取当前上传的文件全称。
    }


图片类型就是“.”后面的字符(比如:一个文件名称为XXX.JPG 那么它的类型就是“.”后面的JPG)。
考虑php上传图片时文件名可能过长的问题,可以使用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/";注意写法
}

会出现很多问题,第一先写一个能上传类型的数组。第二判断文件合法性。第三给文件重名。*
(这边判断文件大小就不写了)先定义允许上传文件的类型数组:$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上传图片SDK

    阿里云PHP上传图片SDK是专为开发者设计的一款工具,它使得在PHP环境中向阿里云存储服务(如OSS,即Object Storage Service)上传图片变得简单快捷。本文将深入解析这款SDK的功能、工作原理以及如何使用它来实现图片...

    上传图片 图片上传

    标题“上传图片 图片上传”直指这个核心操作,而描述中的“上传图片同时支持post参数,也支持上传其他类型文件【需修改对应参数】”揭示了实现这一功能时的一些关键技术和注意事项。 首先,我们来探讨图片上传的...

    php基于webuploade的图片批量上传

    通过学习和分析这个示例,你可以了解并掌握批量上传图片的具体实现。在实际项目中,还可以考虑添加更多功能,如进度条显示、图片裁剪、重命名、文件名冲突处理等,以提高用户体验。 总之,基于PHP和WebUploade的...

    上传图片不乱码demo

    在这个"上传图片不乱码demo"中,开发者已经解决了图片上传过程中的乱码问题,提供了简单易用的实现方式。下面我们将详细探讨相关的技术点。 1. **文件上传原理**:文件上传是通过HTTP协议的POST请求来完成的。在...

    基于webuploader的图片批量上传插件 php diyupload

    【基于WebUploader的图片批量上传插件PHP DIYUpload详解】 在现代互联网应用中,用户对文件上传的需求日益增长,特别是图片上传,不仅要求快速高效,还需要支持批量操作。WebUploader是一个优秀的JavaScript文件...

    php文件上传,自己写的文件上传类,附带一个demo,欢迎大牛们提出意见和建议

    1. **文件上传原理**: PHP文件上传基于HTTP协议,通过`&lt;input type="file"&gt;`标签在HTML表单中提供选择文件的功能。当用户提交表单时,服务器端的PHP脚本可以通过`$_FILES`全局数组来访问上传的文件信息,包括...

    文件上传原理.pdf

    无论是文档、图片还是多媒体文件,文件上传功能都是不可或缺的。本文将深入探讨文件上传的基本原理及其在不同技术栈中的实现方式,特别是针对基于ASP的技术进行详细介绍。 #### 二、文件上传原理概述 文件上传主要...

    upload_php上传_php上传文件_

    接下来,我们来看如何编写一个简单的PHP上传类。在提供的压缩包中,有一个名为`upload.php`的文件,这可能是一个简单的上传类实现。通常,这样的类会包含以下功能: 1. **验证上传文件**:检查文件类型、大小、是否...

    jcrop插件+php实现的图片上传与裁剪

    要详细了解其工作原理,需要查看和分析`demo`中的具体代码。 8. **应用场景**: - 用户头像裁剪:用户可以选择并裁剪自己的头像,确保符合规定的尺寸和比例。 - 商品图片处理:电商平台可以让商家上传商品图片并...

    phpweb产品模块不能上传多张产品图片bug修复

    1. **分析产品图片上传逻辑**:查看`product.js`中的代码,找出与图片选择和上传相关的函数,如`onchange`事件处理函数。确认它是否正确地遍历了所有选择的文件。 2. **检查前端限制**:确保HTML表单允许用户选择多...

    [php]ifame仿ajax图片上传预览,兼容IE\FF\Chrome

    本项目 "[php]ifame仿ajax图片上传预览,兼容IE\FF\Chrome" 提供了一种利用iframe技术实现跨浏览器兼容的图片上传预览方案。以下是关于这个项目的一些关键知识点和详细说明: 1. **Iframe(内联框架)**:Iframe是一...

    PHP文件上传类

    7. **文件类型检查**:安全考虑,上传类会检查文件的MIME类型,确保只接受特定类型的文件,例如图片、文档等。`mime_content_type()`或`finfo_file()`函数可以用来获取文件的MIME类型。 8. **文件大小限制**:根据...

    绝对可用,Flash+PHP上传图片带切割和缩放

    在这个场景中,我们关注的是一个基于Flash和PHP实现的图片上传系统,它带有图像切割和缩放功能,特别适合用于创建用户头像处理系统。接下来,我们将详细讨论这个系统的相关技术及其工作原理。 首先,Flash作为...

    PHP+Flash文件上传程序(含flash fla源码)

    在IT行业中,文件上传功能是网站和应用程序中常见的需求之一,尤其在用户需要提交个人资料、上传图片或视频时。本篇文章将详细讲解一个基于PHP和Flash技术实现的文件上传程序,包括其工作原理、涉及的技术点以及源码...

    ckeditor 自己实现图片上传功能 和源代码

    1. **添加上传按钮**:首先,你需要在CKEditor的工具栏上添加一个用于上传图片的按钮。这可以通过修改配置文件或者直接在初始化CKEditor时添加按钮代码实现。例如,你可以在配置文件中添加以下代码: ```...

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程14:PHP上传原理及应用 PHP100视频教程15:PHP生成HTML文件原理 PHP100视频教程16:PHP小偷程序原理和实例 PHP100视频教程17:PHP面向对象开发的学习(一) PHP100视频教程18:PHP面向对象开发的...

    php图片投票系统php,图片,投票php,图片,投票

    PHP通过`$_FILES`全局变量接收上传的图片,利用FTP或本地文件系统进行存储,同时通过URL路径在前端展示。考虑到性能和安全,通常会进行图片大小限制、格式检查以及防止恶意文件上传。 3. **用户投票** 用户投票...

    图片文件上传

    5. **存储位置**:确定上传图片的存储路径,这可能是服务器的某个目录或者云存储服务。 6. **缩略图生成**:为了优化显示和节省存储空间,可能需要生成图片的缩略图。 7. **数据库交互**:将文件信息(如文件名、...

    基于PHP的LinkBox简单的大众文件上传系统php版源码.zip

    【标题】"基于PHP的LinkBox简单...通过学习和分析LinkBox源码,开发者不仅可以掌握文件上传系统的实现,还能提升PHP编程和Web应用开发的技能。同时,对于想要定制化自己文件上传功能的项目,这是一个很好的参考和起点。

Global site tag (gtag.js) - Google Analytics