php教程

php单文件上传示例代码

我的站长站 2023-02-06 人阅读
<?php
header("Content-Type:text/html; charset=gb2312");
if(isset($_POST['submit']))
{
$upfiles = new Upload();
$upfiles->upload_file();
}
class Upload
{
public $upload_name;//上传文件名
public $upload_tmp_name;//上传临时文件名
public $upload_final_name;//上传文件的最终文件名
public $upload_target_dir;//文件被上传到的目标目录
public $upload_target_path;//文件被上传到的最终路径
public $upload_filetype ;//上传文件类型
public $allow_uploadedfile_type;//允许的上传文件类型
public $upload_file_size;//上传文件的大小
public $allow_uploaded_maxsize=10000000;//允许上传文件的最大值
//构造函数
public function __construct()
{
$this->upload_name = $_FILES["file"]["name"]; //取得上传文件名
$this->upload_filetype = $_FILES["file"]["type"];
$this->upload_tmp_name = $_FILES["file"]["tmp_name"];
$this->allow_uploadedfile_type = array('jpeg','jpg','png','gif','bmp','doc','zip','rar','txt','wps');
$this->upload_file_size = $_FILES["file"]["size"];
//定义上传路径,现在的上传和upload.php在同级
$this->upload_target_dir="./";
}
//文件上传
public function upload_file()
{
$upload_filetype = $this->getFileExt($this->upload_name);
//对上传文件类型的限制,改成if(1)则没有限制
if(1)//in_array($upload_filetype,$this->allow_uploadedfile_type))
{
if($this->upload_file_size < $this->allow_uploaded_maxsize)
{
if(!is_dir($this->upload_target_dir))
{
mkdir($this->upload_target_dir);
chmod($this->upload_target_dir,0777);
}
//定义服务器存储时的文件名(默认和上传的原始文件同名)
$this->upload_final_name = $this->upload_name;//date("YmdHis").rand(0,100).'.'.$upload_filetype;
$this->upload_target_path = $this->upload_target_dir."/".$this->upload_final_name;
if(!move_uploaded_file($this->upload_tmp_name,$this->upload_target_path))
echo "<font color=red>文件上传失败!</font>";
else
echo "<font color=blue>文件上传成功!</font>";
}
else
{
echo("<font color=red>文件太大,上传失败!</font>");
}
}
else
{
echo("不支持此文件类型,请重新选择");
}
}
/**
*获取文件扩展名
*@param String $filename 要获取文件名的文件
*/
public function getFileExt($filename){
$info = pathinfo($filename);
return $info["extension"];
}
}
?>
 
<form enctype="multipart/form-data" method="POST" action="">
<input type="file" name="file"><input type="submit" name="submit" value="上传">
</form>


相关推荐
  • php上传
  • 上传文件
  • php上传大文件必备配置方法

    项目要求如果你的项目需要用到大文件上传或下载功能,就必须首先修改PHP的配置才行,否则上传或下载操作就会超时,操作失败。操作步骤打开php配置文件php.ini,首先找到; file uploads ;区域,有影响文件上传的以下几个参数:file_uploads = on ;//是否允许...

    php教程 52 1年前
  • 百度编辑器上传word转html

    后台上传word转html到编辑器中,编辑器是使用的百度编辑器,先在页面合适的位置写个上传框<button type=”button” name=”fileword” id=”upload-fileword”>上传word文件</button>前端用的layui框架,不需要写提示框,图个方便,大家自行选择<script>layui...

    php教程 78 2年前
  • jQuery+PHP实现简单的图片上传功能

    图片上传思路:通过ajax实现图片上传,然后把PHP返回的图片地址,加入到隐藏字段中,最后通过表单提交给后台PHP,代码如下HTML代码 zimg.html文件:<!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, init...

    php教程 77 3年前
  • nginx宝塔面板上传文件环境配置方法

    在使用nginx系统的宝塔面板开发上传或下载文件功能时,需要首先要配置下载nginx或PHP的参数。否则上传下载大文件时,总是报错,上传小一点的文件,就不报错。修改nginx配置打开nginx管理界面,看到“性能调整”,主要修改连接超时、最大上传文件大小,其他的也可...

    宝塔面板 55 1年前
  • DISCUZ升级后不显示“选择文件上传”按钮

    小编自己的discuz论坛由于不是最新版本,每次登陆论坛都会频繁的有升级提示,这次由于小编手贱了一下下,点击了升级flash player 14。最终导致小编的论坛中就再也看不到:选择文件上传“那个按钮了,图片添加到帖子内容中上方没有:选择文件上传”。这个解决方...

    discuz教程 384 7年前
  • 宝塔面板修改PHP文件上传大小
    宝塔面板修改PHP文件上传大小

    宝塔面板修改PHP文件上传大小很简单,直接打开宝塔面板WEB端进入软件商店选择已经安装且正在使用的PHP版本号点击设置->配置文件搜索post_max_size修改后面的值(自己需要多少就改成多少,切勿过大,防止...

    宝塔面板 378 3年前
最新更新