php文件上传并显示文件列表

本文介绍了一个简单的PHP文件上传示例,包括文件类型的验证、大小限制及上传过程中的错误处理,并展示了如何通过PHP脚本实现文件从客户端到服务器的上传。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php文件上传

文件目录如下:
在这里插入图片描述
index.php

在这里插入代码片<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上传文件</title>
</head>
<body>
<h1>上传文件</h1>
<form action="upload.php" method="post"     enctype="multipart/form-data">
请选择文件:<input type="file" name="file" /><input type="submit" value="上传" />
</form>
</body>
</html>

upload.php

<?php

// 允许上传的图片后缀
$allowedExts = array("gif", "jpeg", "jpg", "png", "pdf","doc","docx");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);  
       
// 获取文件后缀名
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/PNG")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "application/pdf")
|| ($_FILES["file"]["type"] == "application/docx")
|| ($_FILES["file"]["type"] == "application/msword"))
&& ($_FILES["file"]["size"] < 2048000)    // 小于 200 kb
&& in_array($extension, $allowedExts))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "错误:: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
        echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
        echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
        echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
        if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " 文件已经存在。 ";
        }
        else
        {
            // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
            move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
            echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
            
            
        }
    }
}
else
{
    echo "非法的文件格式";
}


?>
<a href="http://xxx.com/list.php">文件列表</a>;

list.php

<?php
header("Access-Control-Allow-Origin: *");
header('content-type:application/json');
header("Content-type:text/html;charset=utf-8");
$dir = "upload/";
$docArray = array();
if (is_dir($dir)) {
	if ($dh = opendir($dir)) {
		while (($file = readdir($dh)) !== false) {
			$end = $file + "http://xxx.com/list.php";
			$final = array_push($docArray,"$file");
		}
		//  echo json_encode($docArray);
		closedir($dh);
	}
}
foreach ($docArray as $key=>$value) {
	if ($value === '.' || $value === '..')
	    unset($docArray[$key]);
}
// echo   json_encode($docArray);
array_walk(
    $docArray,
    function (&$s, $k, $prefix = 'http://xxx.com/upload/') {
	$s = str_pad($s, strlen($prefix) + strlen($s), $prefix, STR_PAD_LEFT);
}
);
// var_dump($docArray);
// echo json_encode($docArray);
echo "<pre>";print_r($docArray);echo "<pre>";


?>

文件上上传
在这里插入图片描述
选中文件在这里插入图片描述
上传完成
在这里插入图片描述

文件列表在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值