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>";
?>
文件上上传
选中文件
上传完成
文件列表