PHP异常处理类(文件上传提示)

知识点:

大部分时候我们的代码总有各种各样的bug,新手程序员(比如我)最经常的工作就是不停的报错和echo变量,一个好的异常处理类可以帮我们更快+更容易理解报错代码的问题,同时,异常处理还可以避免一些因为程序错误而泄露网站重要信息内容的提示(比如文件报错,会弹出根目录),此外异常处理还可以协助项目上的正则验证,文件上传提示,访问权限控制等提高项目体验的功能。

代码:

<?php
header("Content-type: text/html; charset=utf-8");
/*
PHP异常处理常用函数:
1、getCode();得到传递给构造函数的错误代码
2、getFile();返回抛出异常的文件名
3、getLine();返回抛出异常的行号
4、getMessage();返回传递给构造函数的消息
5、getPrevious();返回前一个异常变量
6、getTrace();返回一个数组,包括错误的文件名、行号、函数名、函数参数。

*/

class exctest{

var $filename;//文件名
var $fileexten;//文件后缀

public function __construct($file){

$this->filename = $file;
$this->fileexten = pathinfo($file, PATHINFO_EXTENSION);

}
public function checkexist(){

try{
if(!file_exists($this->filename)){

throw new exception(‘文件不存在!‘);

}
}catch(exception $e){

echo $this->filename.$e->getMessage()."<br>";

}
}
public function checkexten(){

$extens = array(‘gif‘,‘jpg‘,‘png‘,‘xlxs‘,‘xls‘,‘doc‘);

try{
if(!in_array($this->fileexten,$extens)){

throw new exception(‘文件类型错误!请上传下列格式的文件:‘);

}
}catch(exception $e){

$extens = implode(",",$extens);
echo $this->filename.$e->getMessage().$extens;

}

}
public function checkall(){

$this->checkexist();
$this->checkexten();

}

}

$a = new exctest(‘test.rar‘);

$a->checkall();

?>

效果图:

时间: 2024-10-21 04:36:50

PHP异常处理类(文件上传提示)的相关文章

Uploader 文件上传器类

概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由服务端存储断点信息实现断点续传的功能:支持文件拖拽上传,直接将文件拖拽到页面元素上方即可自动上传(默认元素是body):服务端采用asp.net 4.0程序开发,包含有处理程序,提供程序和视图控件,当然也可以用java或者php实现服务端程序. 浏览器兼容:IE10+.火狐.谷歌.Opera.win

chunkupload 文件上传断点续传组件(java) - 正式发布

chunkupload简介 chunkupload是一款基于java语言的断点续传组件,针对文件上传,非文件下载,集成方便,使用简单. chunkupload实现如下功能: ·  实现断点续传 ·  对于同一个文件,允许多用户同时上传,并且上传的用户越多,上传越快 ·  线程安全 ·  同一物理机下进程安全 ·  文件自动切片,支持合并 ·  内存占用小 ·  高效稳定,高可用 ·  易集成,无第三方依赖 chunkupload只关注文件上传,并没有安全机制,开发者需要自行设计安全控制策略,防范

PHP文件上传和文件操作案例

<?php /* *文件配置变量$dirname是目录名称 */ session_start(); $dirname = 'upload'; $fileClass = new fileClass($dirname); $fileClass -> fileCMM();/*文件重命名操作*/ $fileClass -> fileDelete();/*文件删除操作*/ ?> <!DOCTYPE html> <html> <head> <mate

【SSH网上商城项目实战13】Struts2实现文件上传功能

上一节我们做完了添加和更新商品的功能,这两个部分里有涉及到商品图片的上传,并没有详细解说.为此,这篇文章详细介绍一下Struts2实现文件上传的功能. 1. 封装文件信息 我们首先得有一个Model来封装文件的信息,这个Model里需要有三个属性:文件.文件类型和文件名.针对我们要传的图片,我们新建一个Model如下: public class FileImage { private File file; private String contentType; private String fi

SpringBoot——文件上传

目录 单文件上传 表单上传 ajax上传 多文件上传 表单上传 ajax上传 文件上传配置 方法一:在配置文件中添加配置 方法二:在启动类中添加Bean配置 踩坑经验 单文件上传 表单上传 1.前端表单 <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file&q

PHP文件上传类(页面和调用部分)

<!--upform.html内容--> <form action="upload.php" method="post" enctype="multipart/form-data" > name: <input type="text" name="username" value="" /><br> <input type="

PHP文件上传类

<form action="upload.php" method="post" enctype="multipart/form-data" > name: <input type="text" name="username" value="" /><br> <input type="hidden" name="MAX

php 文件上传类

<?php /** file: fileupload.class.php 文件上传类FileUpload 本类的实例对象用于处理上传文件,可以上传一个文件,也可同时处理多个文件上传 */ class FileUpload { private $path = "./uploads"; //上传文件保存的路径 private $allowtype = array('jpg','gif','png'); //设置限制上传文件的类型 private $maxsize = 1000000;

Spring MVC 多文件上传大小限制及异常处理

Spring MVC  多文件上传大小限制及异常处理 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 在 spring mvc 的默认配置文件 WEB-INF/xxx-servlet.xml 中