php实现教学课件的上传,PHP学习文件处理与文件上传 课件第2/2页

PHP学习文件处理与文件上传 课件第2/2页

更新时间:2008年06月15日 13:05:04   作者:

主要包括php文件处理,文件的处理,文件指针相关处理函数,文件控制函数

DirectoryIterator自定义的类

getATime ():文件最后访问时间

getCTime ():文件最后的修改时间

getGroup ():文件所属组(仅UNIX)

getInode ():文件的节点(仅UNIX)

getOwner ():文件的宿主(仅UNIX)

getPerms ():访问该文件的权限

getSize ():文件的大小

getType ():文件的类型

getFileName ():文件的名称

getPath ():文件的路径

isDir ():是否是目录

isExecutable ():是否可以执行

isFile ():是否是文件

isLink ():是否是软链接文件

isReadable ():是否可读

isWritable ():是否可写

isDot ()方法分别过滤掉“.”和“..”目录。

$dname=$_GET["dname"];    //获取from表的信息

if(isset($dname)&&!empty($dname)){  //判断变量是否被设置 检测一个变量是否为空

$dir=new DirectoryIterator("{$dname}");    //new一个类

echo $dir->getPath()."      //类的方法

}else{

$dir=new DirectoryIterator("D:\\");  //new d://目录

echo $dir->getPath();

}

$delname=$_GET["del"];

if(isset($delname)&&!empty($delname)){

if(unlink("{$dir->getPath()}\\$delname"))

echo "删除成功";

}

while($dir->valid()){

if($dir->isDir())

echo "getPath()}\\{$dir->current()}'>".

"{$dir->current()}
";

else

echo "{$dir->current()} 复制".

" current()}'>删除
";

$dir->next();

}

范例2:function showdir($iter){    //设置一个函数方法 并赋值

for(;$iter->valid();$iter->next()){  //检测目录是否还有下一个目录  想下移动一位

if($iter->isDir() && $iter->isDot()){//检测是否是目录 并过滤掉.和..目录位置

echo "目录".$iter->current()."
";  //指向返回列表元素的值

}else{

echo $iter->current().$iter->getSize()."字节
"; 反则 返回列表的值 并查看文件大小

}

}

}

showdir(new DirectoryIterator("C:/")); //传参 new一个系统默认类

/

PHP文件上传

与文件系统和服务器的交互

文件上传`使用目录函数 `与文件系统的交互`使用程序执行函数`与环境变量交互

文件上传

在B/S程序中文件上传已经成为一个常用功能。其目的是客户可以通过浏览器(Browser)将文件上传到服务器(Server)上的指定目录

PHP中文件上传的基础知识

表单提交`对文件的操作

何为文件上传?

为了满足传递文件信息的需要:HTTP协议实现了文件上传机制,从而可以将客户端的文件通过自己的浏览器上传到服务器上指定目录存放。

HTML规范规定上传文件时表单头必须使用

文件上传 //返回值  post 方式上传  表示要上传一个文件

上传文件:

提交:

注意几个特征属性:

POST方法:

表单最常用的功能,向目标页面传递变量,我们在上传文件的时候,会在表单中设置相应的属性,来完成文件的传递.

enctype="multipart/form-data"

这样服务器就会知道,我们要传递一个文件,这样服务器可以知道上载的文件带有常规的表单信息。

MAX_FILE_SIZE

此字段必须在文件输入字段之前,控制最大的传递文件的大小(字节) ——真的可以控制吗?

设置浏览器文件输入浏览按钮

我们在服务器端的php.ini中设置对表单传递的数据进一步判断

file_uploads = On /Off 是否允许文件上传

upload_max_filesize = 2M 上传的文件的最大大小

post_max_size = 8M  POST数据所允许的最大大小

表单传递的数据,文件只是其中的一部分,所以设置时,upload_max_filesize应该小于post_max_size

超级全局数组$_FILES

PHP程序中,需要处理的上传数据保存在全局数组中$_FILES(超级全局数组)

保存$_FILES数组中的元素,将HTML表单的type="file"标记的名称name="userfile" 存放在数组中。

存储在$_FILES['userfile']['name']中的值是:客户端文件系统的文件的名称

存储在$_FILES['userfile']['type']中的值是:客户端传递的文件的类型

存储在$_FILES['userfile']['size']中的值是:文件的字节的大小

存储在$_FILES['userfile']['tmp_name']中的值:文件被上传后在服务器存储的临时全路径

```````````````````````````````````````````

存储在$_FILES['userfile']['error']中的值是:文件上传的错误代码-php 4.2以后增加的功能

存储在$_FILES['userfile']['error']中的值

值为0:表示没有发生任何错误。

值为1:表示上传文件的大小超出了约定值。文件大小的最大值是在PHP配置文件中指定的,该指令是:upload_max_filesize。

值为2:表示上传文件大小超出了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值。

值为3:表示文件只被部分上传。

值为4:表示没有上传任何文件。

````````````````````````````````````

is_uploaded_file( )检测是否是上传文件

move_uploaded_file(临时路径/临时文件名,目的路径/目的文件名 ) 函数将存放在临时目录下的上传文件拷贝出来,存放到指定目录的指定文件名,如果目标存在将会被覆盖。

范例:print_r($_FILES["upfile"]);//将表单提交的系统存放在这

echo "文件名字".$_FILES["upfile"]["name"];//文件名字

if($_FILES["upfile"]["error"]<=1){//错误代码小于1  大于1表示有错误

echo "请选择文件";

}

if(is_uploaded_file($_FILES["upfile"]["tmp_name"])){//检测这个文件是否是上传文件  文件的临时路径

echo '是上传文件';

move_uploaded_file($_FILES["upfile"]["tmp_name"],"./upload/".$_FILES["upfile"]["name"]);

//将临时文件转移到upload目录 文件名 为原名

}else{

echo '不是上传文件';

}

文件上传后的临时存放目录

上传的文件被放置到服务器端临时目录:/tmp目录里面 命名为一个唯一的,随机生成的临时文件名。 注:该文件在程序执行完后将自动被删除掉。在删除前可以像本地文件一样操作。

/tmp目录是默认的上传临时文件存放地点, 如果需要更改这个目录: 可以编辑/etc/php.ini 文件File Uploads 段的upload_tmp_dir  属性值。

当配置文件php.ini的register_globals属性被设置成on的情况

将生成全局变量:$myfilename等

```````````````````````````````````````````````

当需要上传多个文件的情况,有两种实现的解决方法:

使用不同的表单元素

使用数组格式的表单元素

`````````````````````````````````````````````````

使用目录函数

opendir?--?打开目录句柄

closedir?--?关闭目录句柄

readdir?--?从目录句柄中读取条目

语法格式:$d=opendir("./upload"); //打开这个文件目录

while($s=readdir($d)){  //循环输出读取到的条目

echo $s."
";

}

closedir($d);  //关闭句柄

创建和修改目录

mkdir?--?新建目录

rmdir?--?删除目录

mkdir("D:\\up");//创建一个目录

rmdir("up");//删除一个目录

磁盘操作

disk_free_space():统计某个磁盘的剩余空间

disk_total_space():显示逻辑磁盘的容量

echo disk_free_space("D:\\")/1024/1024/1024;

echo disk_total_space("D:\\")/1024/1024/1024;

getcwd():返回当前脚本所在路径

chdir():类似DOS的cd命令,改变当前路径

echo getcwd();//查看当前脚本路径

chdir("D:\\");//改变

使用程序执行函数

exec( ) 函数可以将要执行的命令作为参数。

passthru( ) 结果直接输出显示到浏览器。

system( )也是直接输出显示到浏览器,但有返回值

phpchana 课件

rar.gifphp文件处理.rar

相关文章

1a1b05c64693fbf380aa1344a7812747.png

php中的session完全教程...2007-03-03

4f55910a645b073bc4fc65dc10dc14bd.png

声明类成员或方法为static,就可以不实例化类而直接访问。不能通过一个对象来访问其中的静态成员(静态方法除外)。2010-06-06

0ea3c7666119d5615e582f823fb3fad6.png

用session做客户验证时的注意事项...2006-10-10

4f96a78db829b1556ff16de21e013c7a.png

PHP入门...2006-10-10

8cc1031babc6aff2319f1c6af8544aa0.png

第一节--面向对象编程...2006-11-11

0c932a99bb7b6f23c937db507070cc7b.png

php 利用cookie实现访问次数统计,需要的朋友可以参考下。2011-05-05

cca732bf65a93ed2ec0ac80c638460fe.png

我的论坛源代码(五)...2006-10-10

2d9f31f2af7b675a3d153d2b7f1035a7.png

strstr()函数的作用是:返回一个字符串在另一个字符串中首次出现的位置到后者末尾的子字符串(大小写敏感)。2010-06-06

b452cee8ec5cd9e58ab98eba17281e59.png

关于PHP中操作MySQL数据库的一些要注意的问题...2006-10-10

f4838ec7e2d4da28e0b57d4e852dadd4.png

COM in PHP (winows only)...2006-10-10

最新评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值