PHP最原始的上传文件函数

<?php

$upload_file=$_FILES[‘upload_file‘][‘tmp_name‘];
$upload_file_name=$_FILES[‘upload_file‘][‘name‘]; // 上传的文件名

//获取文件后缀名
$temp_arr = explode(".", $upload_file_name);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext); //$file_ext 文件的后缀
$file_name_ext = time().rand(100, 999).‘.‘.$file_ext;
$file_ext_arr = array(‘rar‘,‘zip‘,‘txt‘,‘doc‘,‘ppt‘,‘xls‘);

if(!in_array($file_ext, $file_ext_arr)){ // 不在允许的范围内
    echo "上传的文件格式不正确";
    exit;
}

$upload_file_size=$_FILES[‘upload_file‘][‘size‘];
if($upload_file){
    $file_size_max = 100*1000*1000;// 100 M 限制文件上传最大容量 (bytes)
    $webroot = $cfg[path][root];
    $store_dir = $webroot."upfile/isClass/file/";// 上传文件的储存位置
    $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.$file_name_ext)) {
        echo "复制文件失败";
        exit;
    }
}
  
时间: 2025-01-04 19:10:27

PHP最原始的上传文件函数的相关文章

上传文件函数的思路

<form action="" method="post" enctype="multipart/form-data"> 请选择要上传的文件:<input type="file" name="myFile" value="" /> <input type="submit" value="开始上传" /> <

PHP中封装上传文件函数

<?php /* *文件上传 * * */ //var_dump($_FILES); /* 多文件上传处理 $data = $_FILES['icon']; $name = $data['name']; if (is_array($name)) { for ($i=0; $i<count($name); $i++) { echo $data['tmp_name'][$i].'<br />'; } } else { echo '单个文件上传'; } */ $mimes = ['ima

PHP上传文件代码练习2 (重复文章)

表单: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题</title> </head> <body> <form action="upload.php" method="post" enctype=

upload上传文件

上传Excel文件代码demo: 下载上传js文件:bower install ng-file-uploa:引入js文件: angular.module('dc.workflow', [ 'ngFileUpload']); js代码:var data=this.data={file:null};//定义data.file为空: this.selectImage = function (file) { this.errorFileType = false; if (file[0].type !=

小程序云开发--云函数上传文件或图片 base64

云函数开发遇到的问题 在微信云开发环境当中,普通的用户并没有往云存储内写入文件的权限 所以普通用户想要使用wx.cloud.uploadFile显然是不现实的 但是我们同时也知道,云函数是后台服务端,具有管理员权限,只要能调用云函数上传文件就可以解决这个问题了 参照官方文档中云函数的写法 const cloud = require('wx-server-sdk') const fs = require('fs') const path = require('path') exports.main

angular延时函数和数据加载完才显示主要的页面、上传文件到后端、富文本框编辑框(ckeditor)

延时函数 setTimeout(()=>{ console.log("延时打印") },10000); // 延时10秒打印 //简单等数据加载完才显示主要的页面 1.先下载ngx-loading模块 npm install --save ngx-loading 2.在app.module.ts中引入NgxLoadingModule模块 import {NgxLoadingModule} from 'ngx-loading'; imports: [ BrowserModule,

nodejs --- 上传文件并保存到磁盘

先复习下整个请求的过程 const express = require('express'); const static = require('express-static'); const cookieParser = require('cookie-parser'); const cookieSession = require('cookie-session'); const bodyParser = require('body-parser'); const multer = requir

对Ajax连接的认识~为毛不能上传文件!!!

最近做毕设的时候需要用到上传图片的功能,但是我的毕设全部的传输都是基于ajax的请求,百度了一圈发现TMD居然说ajax不能上传文件!!当时我就不乐意了啊,那难道其他人都用的是黑科技吗?!又来网上的大牛告诉说用jquery的一个插件就可以完成,百度了一下原来叫--ajaxfileupload.js 这又是个什么鬼!(╯‵□′)╯︵┴─┴为毛要用插件,来来来~ajax咋俩聊聊,你为毛不能上传文件来着? 对于ajax是如何实现的我想大家都很清楚了,首先得到XmlHttpRequest对象实例的一个引

三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader

发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"upload",其它的不做任何处理: <form method="POST" action="upload" enctype="multipart/form-data"> 名字 <input type="text&q