文件处理
来源:互联网 发布:四川广电网络全称 编辑:程序博客网 时间:2024/06/05 00:20
文件处理
|----- #Uploads
| |------ #2015-11-16 (见云盘)
|
|------ index.html 提交file
|------ upload.php 上传存储文件
|------ lst.php 遍历文件列表
|------ read.php 查看文件内容
index.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form action="2upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfile"/>
<button type="submit">上传文件</button>
</form>
</body>
</html>
upload.php 上传文件
<?php
/**
* Created by PhpStorm.
* User: ziniu
* Date: 2015/11/16
* Time: 15:59
*/
//var_dump($_FILES);
$file_config = array(
'file_key' => 'upfile',
'path'=>'./Uploads/',
);
if($_FILES){
$imgname = $_FILES[$file_config['file_key']]['name'];
$filetype = pathinfo($imgname, PATHINFO_EXTENSION);// 扩展文件名
$filename = pathinfo($imgname, PATHINFO_BASENAME ); // 文件名字
$filename = md5($filename.time());// 加密文件名 防止冲突罢了
$dir = $file_config['path'].date('Y-m-d').'/';
if(!is_dir($dir)){// 目录不存在在创建目录
mkdir($dir);
}
$path_url = $dir.$filename.'.'.$filetype;
$tmp_file = $_FILES[$file_config['file_key']]['tmp_name'];
if(move_uploaded_file($tmp_file,$path_url)){ // 移动文件到 指定的目录
echo '成功了....3秒后跳转';
header("refresh:3;url=./lst.php");
}else{
echo '失败了....3秒后跳转';
header("refresh:3;url=./index.html");
}
}else{
echo '你没有任何文件上传....3秒后跳转';
header("refresh:3;url=/index.html");
}
lst.php 文件列表
<?php
/**
* Created by PhpStorm.
* User: ziniu
* Date: 2015/11/16
* Time: 16:35
*/
//echo '文件列表';
$path = './Uploads';
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
function tree($directory){
$mydir = dir($directory); //var_dump($mydir);
echo "<ul>\n";
var_dump($mydir);
while($file = $mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";
tree("$directory/$file");
}elseif(($file!=".") AND ($file!="..")){
$filetype = pathinfo($file, PATHINFO_EXTENSION);
if($filetype != 'txt'){
echo "<li>$file</li>\n";
}else{
$path = $directory.'/'.$file;
echo "<li>$file<a href='./read.php?p=$path'>显示内容</a></li>\n";
}
}
}
echo "</ul>\n";
$mydir->close();
}
//开始运行
echo "<h2>目录为粉红色</h2><br>\n";
tree($path);
echo '<a href="./">继续上传</a>';
/***********************
第二种实现办法:用readdir()函数
************************/
//function listDir($dir){
// if(is_dir($dir)){
// if ($dh = opendir($dir)){
// while (($file = readdir($dh)) !== false){
// if((is_dir($dir."/".$file)) && $file!="." && $file!=".."){
// echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
// listDir($dir."/".$file."/");
// }else{
// if($file!="." && $file!=".."){
// echo $file."<br>";
// }
// }
// }
// closedir($dh);
// }
// }
//}
////开始运行
//listDir($path);
read.php 读取文件
<?php
/**
* Created by PhpStorm.
* User: ziniu
* Date: 2015/11/16
* Time: 16:57
*/
$path = $_GET['p'];
echo file_get_contents($path); //将整个文件读入一个字符串
echo '<a href="./lst.php">返回列表</a>';
知识点:
pathinfo()
- [dirname]:返回文件路径中的目录部分
- [basename]:返回文件路径中文件名的部分
- [extension]:返回文件路径中文件的类型的部分
0 0
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 文件处理
- 4.4 演示程序框架
- Oracle 12c database 在Extended rac上的问题
- Makefile_笔记
- JavaBean和EL表达式
- GD库
- 文件处理
- android开发之fragment与activity之间相互跳转
- leetcode-第五周
- Android Transition Framework 详解 --- 超炫的动画框架
- 深入底层代码理解java中String、StringBuffer、StringBuilder
- 在JSP中使用JavaBean
- php+mysql扩展库
- 重启ngnix
- FFmpeg实时采集麦克风延迟