`
xfcode
  • 浏览: 22526 次
  • 性别: 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`全局数组来访问上传的文件信息,包括...

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

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

    upload_php上传_php上传文件_

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

    WebShell文件上传漏洞分析溯源(第3题)

    本文将对 WebShell 文件上传漏洞进行深入分析,探讨其原理、危害性以及防御方法。同时,通过实践演示,展示如何绕过页面对可执行文件上传的限制,利用 WebShell 读取服务器上的源代码内容。 什么是 WebShell? ----...

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

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

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

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

    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应用开发的技能。同时,对于想要定制化自己文件上传功能的项目,这是一个很好的参考和起点。

    基于PHP的爱特php文件管理中转上传v1.8.1源码.zip

    【标题】"基于PHP的爱特php文件管理中转上传v1.8.1源码.zip" 提供的是一款基于...通过分析这个源码,开发者不仅可以学习到PHP文件上传与管理的相关知识,还可以了解到如何在实际项目中实现高效、安全的文件处理功能。

Global site tag (gtag.js) - Google Analytics