首页 > 编程语言 >php上传文件简单示例

php上传文件简单示例

时间:2023-04-06 14:44:12浏览次数:40  
标签:文件 log 示例 简单 php 上传

php上传文件简单示例

 

<?php

$log = '';
$buf = ob_get_contents();
ob_end_clean();
$postmaxsize = trim(ini_get('post_max_size'));
//preg_match_all('/\d+/', $postmaxsize ,$arr);
//$number = $arr[0][0];
//if(strpos($postmaxsize, 'M') !== false) $postmaxsize = $number*1024*1024;
//if(strpos($postmaxsize, 'G') !== false) $postmaxsize = $number*1024*1024*1024;

if(strpos($buf, 'POST Content-Length') !== false) $log .= "上传文件大于最大值 $postmaxsize ";
else $log .= $buf;

if(isset($_POST['uploadaction'])){
    set_time_limit(60);
    $_POST['uploadaction'] = 0;
    $filepath = "d:/htdocs/test/"; # 上载文件存放路径

    $upfile_name = $_FILES['upfile']['name'];
	$upfile_size = $_FILES['upfile']['size'];
	$upfile_type = $_FILES['upfile']['type'];
	$upfile_tmp  = $_FILES['upfile']['tmp_name'];
	$upfile_error= $_FILES['upfile']['error'];

    if($upfile_size < 1024) $filesize = $upfile_size . " Byte";
    elseif($upfile_size < (1024 * 1024)) $filesize = number_format((double)($upfile_size / 1024), 1) . " KB";
    else $filesize = number_format((double)($upfile_size / (1024 * 1024)), 1) . " MB";

    if(($upfile_tmp != "none") && ($upfile_tmp != "")){
        $filename = $filepath . $upfile_name;
        if(!file_exists($filename)){
            if(copy($upfile_tmp, $filename)){
                unlink($upfile_tmp);
                $log .= " $upfile_name [ $filesize ]已上传至 $filepath ";
            }else $log .= " $upfile_name 上载失败!";
		}else $log .= " $upfile_name 已经存在!";
    }

    set_time_limit(30); //恢复默认超时设置
}
?>
<html>
<head>
  <title>文件上传</title>
</head>
<body>
  <center>
  <h2>文件上传</h2>
  <form
    action="<?php echo $_SERVER['PHP_SELF']; ?>"
    method="post"
    enctype="multipart/form-data"
  >
    <input type="hidden" name="max_file_size" value="8388608" />
    <input type="hidden" name="uploadaction" value="1" />
    <input type="file" name="upfile" size="30" />
    <input name="submit" value="提交" type="submit" />
    <input name="reset" value="重置" type="reset" />
  </form>
  <?php echo "<br>". $log ."\r\n"; ?>
  </center>
</body>
</html>

  

标签:文件,log,示例,简单,php,上传
From: https://www.cnblogs.com/yisuo/p/17292719.html

相关文章

  • PHP上传文件的大小限制
    PHP上传文件的大小限制Warning:POSTContent-Lengthof625523488bytesexceedsthelimitof8388608bytesinUnknownonline0当Warning:online0做出错误警告时,设定error_reporting(0);ini_set("display_errors",0);无效如何不显示这种错误呢方法一:设置php.i......
  • 求PHP超大文件上传解决方案:分片断点上传(一)
    ​ PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off 是否允许通过http方式上传文件2.max_execution_time=30 允许脚本最大执行时间,超过这个时间就会报错3.memory_limit=50M 设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此......
  • OpenCV [c++](图像处理基础示例小程序汇总)
    一、图像读取与显示#include<opencv2/opencv.hpp>#include<iostream>usingnamespacecv;usingnamespacestd;intmain(){ stringpath="Resources/lambo.png";//图片的路径名 Matimg=imread(path);//将图片加载后赋值到图像变量img中//if(path.empty()){......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-会议笔记文档智能转摘要从0到1快速入门——官
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • java文件上传审计
    审计点简述  审计文件名-审计后缀名-审计文件内容-审计点--文件名称1.文件名存在目录穿越漏洞漏洞原因:开发者直接将用户输入的文件名拼接在路径上进行查找漏洞修复:开发者直接指定一个路径,不信任用户的路径(添加一个时间戳)文件名直接拼接产生漏洞:/ab/c+file_name--......
  • PrometheusAlert微信报警模板示例
    配置入口如下: 代码配置:{{$var:=.externalURL}}{{range$k,$v:=.alerts}}{{ifeq$v.status"resolved"}}[PROMETHEUS-恢复信息]({{$v.generatorURL}})>**[{{$v.labels.alertname}}]({{$var}})**><fontcolor="info">开......
  • 在 Linux 中使用 sFTP 上传或下载文件与文件夹
    导读sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与FTP(文件传输协议)类似。然而,sFTP比FTP更安全;它通过加密SSH传输处理所有操作。它可以配置使用几个有用的SSH功能,如公钥认证和压缩。它连接并登录到指定的远程机器,然后切换到交互式命令模式,在......
  • PHP基础知识之————PHP Web脚本中使用FFmpeg
    简介本文将尝试指出在PHPWeb脚本中使用FFmpeg时需要了解的所有重要事项。它还将显示一些使用示例,以使事情更清楚。这个想法也可以应用到其他web脚本语言。从PHP脚本调用命令行工具选择一个模型网页设计为快速执行,以便浏览您的网站的人不必等待太多的响应。因为如果他们无聊的等待,......
  • ThinkPHP 3.2 路径问题
    一、阿帕奇域名已经开始访问的时候:(去掉index.php)访问路径:http://wechatu.xd107.com/Pay/Index/payToJS路径代码:var$URL="__ROOT__/Pay/Index/";二、阿帕奇域名没开启:(没有掉index.php)访问路径:http://soft.amaitech.com/index.php?s=/Home/Login/index.htmlJS路径代码......
  • ThinkPHP 3.2公共类库、应用类库ThinkPHP/Library讲解
    一、ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的。只要按照规范定义,都可以实现自动加载。       公共类库公共类库通常是指ThinkPHP/Library目录下面的类库,例如:         Think目录:系统核心类库         Org目录:第......