PHP上传类太多,这里提供一个简单的php文件上传,一个文件就可以搞定上传。
把下面代码另存为uploads.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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="author" content="xyl" />
<title>简易文件上传 - www.jbxue.com</title>
</head>
<style type="text/css">
</style>
<body>
<form enctype="multipart/form-data" action="" method="post">
请选择文件: <br>
<input name="upload_file" type="file"><br>
<input type="submit" value="上传文件">
</form>
<br />
<br />
<br />
<br />
<?
function file_list($dir,$pattern=""){
$arr=array();
$dir_handle=opendir($dir);
if($dir_handle){
while(($file=readdir($dir_handle))!==false){
if($file==='.' || $file==='..'){
continue;
}
$tmp=realpath($dir.'/'.$file);
if(is_dir($tmp)){
$retArr=file_list($tmp,$pattern);
if(!empty($retArr)){
$arr[]=$retArr;
}
} else {
if($pattern==="" || preg_match($pattern,$tmp)){
$arr[]=$tmp;
}
}
}
closedir($dir_handle);
}
return $arr;
}
$d_root = $_SERVER['DOCUMENT_ROOT'];
$store_dir = "$d_root/uploads/";// 上传文件的储存位置
if (!is_dir($store_dir)) {
mkdir($store_dir,0777,true);
}
$file_arr = file_list($store_dir);
foreach ($file_arr as $v=>$k) {
$d_root_no = strlen($d_root);
$l = substr($k,$d_root_no);
echo $v.'号文件下载地址为: <a class="download_url" style="color:#01BCC8;text-decoration:none;font-size:16px;font-weight:bold;" href="'.$l.'">'.$_SERVER['SERVER_ADDR'].$l.'<a/><br />';
}
$upload_file=isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:'';
$upload_file_name=isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:'';
$upload_file_size=isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:'';
if($upload_file){
$file_size_max = 1000*1000*200;// 200M限制文件上传最大容量(bytes)
if (!is_dir($store_dir)) { // www.jbxue.com
mkdir($store_dir,0777,true);
}
$accept_overwrite = 1;//是否允许覆盖相同文件
// 检查文件大小
if ($upload_file_size > $file_size_max) {
echo "对不起,你的文件容量大于规定";
exit;
}
// 检查读写文件
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
echo "存在相同文件名的文件";
exit;
}
//复制文件到指定目录
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo "复制文件失败";
exit;
}
}
if (isset($_FILES['upload_file'])) {
echo "<p>你上传了文件:";
echo isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:'';
echo "<br>";
//客户端机器文件的原名称。
echo "文件的 MIME 类型为:";
echo isset($_FILES['upload_file']['type'])?$_FILES['upload_file']['type']:'';
//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
echo "<br>";
echo "上传文件大小:";
echo isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:'';
//已上传文件的大小,单位为字节。
echo "<br>";
echo "文件上传后被临时储存为:";
echo isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:'';
//文件被上传后在服务端储存的临时文件名。
$erroe = isset($_FILES['upload_file']['error'])?$_FILES['upload_file']['error']:'';
switch($erroe){
case 0:
echo "上传成功"; break;
case 1:
echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;
case 2:
echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; break;
case 3:
echo "文件只有部分被上传"; break;
case 4:
echo "没有文件被上传"; break;
case 6:
echo "没有缓存目录"; break;
case 7:
echo "上传目录不可读"; break;
case 8:
echo "上传停止"; break;
default :
echo "没有选择上传文件"; break;
}
echo "<script language=JavaScript>location.replace(location.href);</script>";
}
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="author" content="xyl" />
<title>简易文件上传 - www.jbxue.com</title>
</head>
<style type="text/css">
</style>
<body>
<form enctype="multipart/form-data" action="" method="post">
请选择文件: <br>
<input name="upload_file" type="file"><br>
<input type="submit" value="上传文件">
</form>
<br />
<br />
<br />
<br />
<?
function file_list($dir,$pattern=""){
$arr=array();
$dir_handle=opendir($dir);
if($dir_handle){
while(($file=readdir($dir_handle))!==false){
if($file==='.' || $file==='..'){
continue;
}
$tmp=realpath($dir.'/'.$file);
if(is_dir($tmp)){
$retArr=file_list($tmp,$pattern);
if(!empty($retArr)){
$arr[]=$retArr;
}
} else {
if($pattern==="" || preg_match($pattern,$tmp)){
$arr[]=$tmp;
}
}
}
closedir($dir_handle);
}
return $arr;
}
$d_root = $_SERVER['DOCUMENT_ROOT'];
$store_dir = "$d_root/uploads/";// 上传文件的储存位置
if (!is_dir($store_dir)) {
mkdir($store_dir,0777,true);
}
$file_arr = file_list($store_dir);
foreach ($file_arr as $v=>$k) {
$d_root_no = strlen($d_root);
$l = substr($k,$d_root_no);
echo $v.'号文件下载地址为: <a class="download_url" style="color:#01BCC8;text-decoration:none;font-size:16px;font-weight:bold;" href="'.$l.'">'.$_SERVER['SERVER_ADDR'].$l.'<a/><br />';
}
$upload_file=isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:'';
$upload_file_name=isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:'';
$upload_file_size=isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:'';
if($upload_file){
$file_size_max = 1000*1000*200;// 200M限制文件上传最大容量(bytes)
if (!is_dir($store_dir)) { // www.jbxue.com
mkdir($store_dir,0777,true);
}
$accept_overwrite = 1;//是否允许覆盖相同文件
// 检查文件大小
if ($upload_file_size > $file_size_max) {
echo "对不起,你的文件容量大于规定";
exit;
}
// 检查读写文件
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
echo "存在相同文件名的文件";
exit;
}
//复制文件到指定目录
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo "复制文件失败";
exit;
}
}
if (isset($_FILES['upload_file'])) {
echo "<p>你上传了文件:";
echo isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:'';
echo "<br>";
//客户端机器文件的原名称。
echo "文件的 MIME 类型为:";
echo isset($_FILES['upload_file']['type'])?$_FILES['upload_file']['type']:'';
//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
echo "<br>";
echo "上传文件大小:";
echo isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:'';
//已上传文件的大小,单位为字节。
echo "<br>";
echo "文件上传后被临时储存为:";
echo isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:'';
//文件被上传后在服务端储存的临时文件名。
$erroe = isset($_FILES['upload_file']['error'])?$_FILES['upload_file']['error']:'';
switch($erroe){
case 0:
echo "上传成功"; break;
case 1:
echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;
case 2:
echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; break;
case 3:
echo "文件只有部分被上传"; break;
case 4:
echo "没有文件被上传"; break;
case 6:
echo "没有缓存目录"; break;
case 7:
echo "上传目录不可读"; break;
case 8:
echo "上传停止"; break;
default :
echo "没有选择上传文件"; break;
}
echo "<script language=JavaScript>location.replace(location.href);</script>";
}
?>
</body>
</html>
相关推荐
对于采用PHP开发人员上传文件很有用,不下载可是错过机会了哦 是一个多文件上传类
PHP文件上传 压缩包里面是php上传文件的实例
php文件上传实例 $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为不加水印)
Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP...
swfUpload+多文件上传php实例代码
实例19 文件上传 实例20 网页计数器 实例21 超级链接计数 第3章 数据库、XML实例 实例22 mysql类库完成MySQL数据库的添加、删除和修改 实例23 mysqli类库完成MySQL数据库的添加、删除和查询 实例24 获取服务器...
主要介绍了php jquery 多文件上传简单实例,有需要的朋友可以参考一下
PHP 5.2 标准课程中级文件上传实例
php文件上传服务器指定目录封装类及实例(上传、删除、移动)
jquery多文件上传实例..............
php多文件上传 swfupload多文件上传 php源码swfUpload 多文件上传 php多文件上传 swfupload多文件上传 php源码swfUpload 多文件上传 php多文件上传 swfupload多文件上传 php源码swfUpload 多文件上传php实例代码...
PHP文件上传类实例详解_.docx
实例19 文件上传 实例20 网页计数器 实例21 超级链接计数 第3章 数据库、XML实例 实例22 mysql类库完成MySQL数据库的添加、删除和修改 实例23 mysqli类库完成MySQL数据库的添加、删除和查询 实例24 获取服务器和系统...
flash多文件上传实例, <?php if ($_FILES ["Filedata"] ["error"] > 0) { exit("Error: " . $_FILES ["Filedata"]["error"]); } echo " ----------存储图片-------- "; $fileName = iconv("utf...
4.很多网上的fileupload.php文件,切片上传大于5M的成功,小于5m的失败,demo中的是已经经过优化。 5.demo中的php 还有 文件请配置适合自己框架的哦,给的demo都自己框架的,只需要把对应的替换掉即可。
PHP 5.2 标准课程中级文件上传实例_2
PHP 5.2 标准课程中级文件上传实例_1
PHP 5.2 标准课程中级多个文件上传实例
php文件上传类,可以多个附件同时上传,带实例。 up.php为实例,可以实现多文件上传,限制上传文件名,文件大小,指定文件保存目录。 UploadFile.class.php是类文件。 up是保存图片的文件夹。
php文件上传类完整实例_.docx