task9图片文件处理函数代码

<?php
/*
upload($_FILES[‘pic‘]); 调用upload()函数
upload($file,$path=null,$type=array(‘image/png‘,‘image/jpeg‘,‘image/jpg‘,‘image/gif‘)){}; 定义upload函数
$file; 是一个数组变量
$file = array(5) {
  ["name"]=>
  string(8) "icon.png"
  ["type"]=>
  string(9) "image/png"
  ["tmp_name"]=>
  string(45) "/Applications/XAMPP/xamppfiles/temp/phpNqvAJe"
  ["error"]=>
  int(0)
  ["size"]=>
  int(24396)
}
$type = array(‘image/png‘,‘image/jpeg‘,‘image/jpg‘,‘image/gif‘); 把可选的图片类型定义为一个数组
is_uploaded_file($file[‘tmp_name‘]); 判断文件是否是通过HTTP POST上传过来的,可防止恶意访问
in_array($file[‘type‘],$type); 判断某个值是否在$type数组中
explode(".",$file[‘name‘]); 把字符串以.为分隔,打散为入栈数组
array_pop(explode(".",$file[‘name‘])); 以出栈的方式弹出数组中的第一个值
rtrim($path,‘/‘); 删除字符串最后的/和空格
is_null($path); 判断路径是否为空,为空则为真
move_uploaded_file($file[‘tmp_name‘],$filePath); 把文件移到新的地方,文件包括文件路径和文件名
*/
// echo "<pre>";
// var_dump($file);
function upload($file, $path = null, $type = array(‘image/png‘, ‘image/jpeg‘, ‘image/gif‘, ‘image/jpg‘)){
    //判断文件是否是通过HTTP POST上传过来的,防止恶意访问其他不让访问的页面
    if(is_uploaded_file($file[‘tmp_name‘])){
        //判断文件的类型
        if(!in_array($file[‘type‘], $type)){
            return false;
        }
        //判断文件的大小
        if($file[‘size‘] > 1024 * 1024 * 10){
            return false;
        }

        //生成一个要把图片移动到别处的新路径
        //以时间戳来给图片重新取一个名字,$file[‘name‘] = "icon.png";
        $filename = date(‘YmdHis‘).rand(100, 999);
        $ext = array_pop(explode(‘.‘, $file[‘name‘]));
        $filename = $filename.‘.‘.$ext;
        //判断用户有没有设置要把文件上传到的路径,默认为空
        if(is_null($path)){
            $path = $_SERVER[‘DOCUMENT_ROOT‘].‘/object/uploads/‘;
            $returnFile = $filename;
        }else{
            $path = rtrim($path, ‘/‘).‘/‘;
            $returnFile = $path.$filename;
        }
        //生成文件要上传到的新路径,文件路径包括路径和文件名
        $filePath = $path.$filename;
        //把文件上传到需要放置的新路径
        if(move_uploaded_file($file[‘tmp_name‘], $filePath)){
            return $returnFile;
        }else{
            return false;
        }
    }else{
        return false;
    }
}
时间: 2024-10-06 13:57:44

task9图片文件处理函数代码的相关文章

c++截取屏幕图片并保存(函数代码实现)

<strong> //获取桌面窗体的CDC CDC *pdeskdc = GetDesktopWindow()->GetDC(); CRect re; //获取窗体的大小 GetDesktopWindow()->GetClientRect(&re); CBitmap bmp; bmp.CreateCompatibleBitmap(pdeskdc , re.Width() , re.Height()); //创建一个兼容的内存画板 CDC memorydc; memorydc

用到了base64转图片文件的函数,记录一下

import java.io.*; import sun.misc.*;     //对图片文件进行Base64编码     public String getImagebase64(String imgFileName) {         byte[] data = null;         try {             InputStream in = new FileInputStream(imgFileName);             data = new byte[in.

转:ios的图片文件上传代码

转自: https://gist.github.com/igaiga/1354221 @interface ImageUploader : NSObject { NSData *theImage; } @property (retain) NSData *theImage; - (void) syncUpload:(NSData *) uploadImage; @end     #import "ImageUploader.h"   #define NOTIFY_AND_LEAVE(X

C#对图片文件的压缩、裁剪操作初探

在做项目时,对图片的处理,以前都采用在上传时,限制其大小的方式,这样带来诸多不便.毕竟网站运维人员不一定会对图片做处理,经常超出大小限制,即使会使用图片处理软件的,也由于个人水平方面原因,处理效果差强人意. 于是采用C#为我们提供的图像编辑功能,实现一站式上传,通过程序生成所需大小.尺寸的目标图片. 进入正题--> 先说图片压缩 第一步:需要读取一个图片文件,读取方法: // <param name="ImageFilePathAndName">图片文件的全路径名称&

PHP5.4 文件操作函数 之 图片计数器的实例

1.访问文件或者文件夹相关函数 <?php echo filetype('c:\windows').'<br>'; ?> <?php echo filetype('c:\windows\regedit.exe').'<br>'; ?> <?php $arr=scandir("c:\\"); var_dump($arr); ?> <?php $arr=scandir("c:\\"); foreach($

网站图片挂马检测及PHP与python的图片文件恶意代码检测对比

前言 周一一早网管收到来自阿里云的一堆警告,发现我们维护的一个网站下有数十个被挂马的文件.网管直接关了vsftpd,然后把警告导出邮件给我们. 取出部分大致如下: 服务器IP/名称 木马文件路径 更新时间 木马类型 状态(全部) *.*.*.* /path/*144.gif 2017/8/7 5:53 Webshell 待处理 *.*.*.* /path/*132.jpg 2017/8/7 5:23 Webshell 待处理 *.*.*.* /path/*156.txt 2017/8/7 5:2

div中粘贴图片并上传服务器 div中拖拽图片文件并上传服务器

应用简介:此文主要是描述如何在前端div中直接ctrl+v 粘贴图片,并上传到服务器,包括拖拽图片文件到div中 应用场景描述:用QQ或者其它切图软件截图,在指定的div中ctrl+v 粘贴并显示,点击上传按钮,图片上传到服务器.类似实现了此功能的网站有 知乎,强力建议博客园实现此功能,                     写博客时插入图片方便的多. 适用环境:本代码目前适用谷歌浏览器,其它浏览器需要稍微改良一下即可,问题不大. 开发环境:vs2015 mvc 不说废话了,开始吧: 1:首先

HTML5时代的纯前端上传图片预览及严格图片格式验证函数(转载)

原文地址:http://www.2cto.com/kf/201401/274752.html 一.要解决什么样的问题? 在写这个函数之前,有们童鞋在群里问如何纯前端严格验证图片格式.这在html5时代之前,那是不可能实现的,必须要上传到后台,由后台脚本读取文本流后进一步验证.这样就造成了一定的服务器资源浪费.但是html5时代,这个工作我们完全可以交给前端来做了. 另一方面,html5时代,许多我们原来的图片预览方案都失效了.究其原因,其实是现代浏览器出于对用户隐私的保护,file控件不再提供真

(转)x264源码分析(1):main、parse、encode、x264_encoder_open函数代码分析

转自:http://nkwavelet.blog.163.com/blog/static/2277560382013103010312144/ x264版本:   x264-snapshot-20140226-2245  1.     首先对主函数进行分析,main函数很简洁,主要有三个步骤,见下图: 2.   接下来分析一下Parse函数中的主要过程: static int parse( int argc, char **argv, x264_param_t *param, cli_opt_t