实例
<?php /** * 文件或目录相关的系统常量 */ echo __FILE__ ,'<br>'; //1.获取文件名 带扩展名 echo '文件名', basename(__FILE__),'<br>'; echo '文件名', filesize(__FILE__),'<br>'; //2.获取目录名 echo '目录名:', dirname(__FILE__),'<br>'; //php5.3+,直接使用魔术常量__DIR__ echo __DIR__,'<br><hr><pre>'; //3.pathinfo(),将文件名,目录名,扩展名解析到一个数组中 $pathinfo = pathinfo(__FILE__); print_r($pathinfo); echo '目录名:',$pathinfo['dirname'],'<br>'; echo '文件名:',$pathinfo['basename'],'<br>'; echo '扩展名:',$pathinfo['extension'],'<br><hr>'; //DIRECTORY_SEPARATOR 根据系统平台自动变化 返回正/反\斜线 正斜杠,符号是"/";反斜杠,符号是"\"。 //正斜杠,符号是"/";反斜杠,符号是"\"。 // "../ " 表示当前目录的上级目录,即当前的父目录; // "/" 表示网站的根目录; echo DIRECTORY_SEPARATOR; $path = dirname(__FILE__).DIRECTORY_SEPARATOR.basename(__FILE__); echo $path;
运行实例 »
点击 "运行实例" 按钮查看在线实例
1.目录遍历实例
<?php /** * 文件或目录相关的系统常量 */ echo __FILE__ ,'<br>'; //1.获取文件名 带扩展名 echo '文件名', basename(__FILE__),'<br>'; echo '文件名', filesize(__FILE__),'<br>'; //2.获取目录名 echo '目录名:', dirname(__FILE__),'<br>'; //php5.3+,直接使用魔术常量__DIR__ echo __DIR__,'<br><hr><pre>'; //3.pathinfo(),将文件名,目录名,扩展名解析到一个数组中 $pathinfo = pathinfo(__FILE__); print_r($pathinfo); echo '目录名:',$pathinfo['dirname'],'<br>'; echo '文件名:',$pathinfo['basename'],'<br>'; echo '扩展名:',$pathinfo['extension'],'<br><hr>'; //DIRECTORY_SEPARATOR 根据系统平台自动变化 返回正/反\斜线 正斜杠,符号是"/";反斜杠,符号是"\"。 //正斜杠,符号是"/";反斜杠,符号是"\"。 // "../ " 表示当前目录的上级目录,即当前的父目录; // "/" 表示网站的根目录; echo DIRECTORY_SEPARATOR; $path = dirname(__FILE__).DIRECTORY_SEPARATOR.basename(__FILE__); echo $path;
运行实例 »
点击 "运行实例" 按钮查看在线实例
2.上传图片实例
<!-- * 系统变量:$_FILES是一个二维数组,一维是当前的文件上传控件的名称,也就是name属性值 * 二维是它的当前属性,最重要有以下几个: *$_FILES['file']['name']:文件原始文件名称 * $_FILES['file']['type']:文件类型 * $_FILES['file']['size']:上传文件大小 * $_FILES['file']['tmp_name']:服务器上的临时文件夹 * $_FILES['file']['error']:上传错误代码 */ //$_SERVER['PHP_SELF']:当前PHP脚本 //enctype="multipart/form-data":允许通过表单上传文件 //method:请求类型必需是POST 处理脚本的三种语法: 1. 最严格的写法:$_SERVER['PHP_SELF']:建议实际工作中用htmlspecialchars()进行防跨域攻击处理 2. 最死板的写法,直接写上当前文件名: demo6.php 3. 最懒的写法: 空,啥与不写,默认就是提交到当前页面的php脚本处理 --> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SEIF']); ?>" method="POST" enctype="multipart/form-data"> <fieldset> <legend align="center">文件上传</legend> <strong>选择文件:</strong><input type="file" name="upload"> </fieldset> <button style="border-radius: 5px; width: 80px;height:25px; margin-top: 8px;box-shadow: 2px 2px 2px;background-color:#efefef;" type="submit" name="submit">上传</button> </form> <?php //检测类型是不是POST if($_SERVER['REQUEST_METHOD'] == 'POST'){ if(isset($_FILES['upload']['type']) && !empty($_FILES['upload']['name'])){ // 允许上传类型 $uptype = ['image/jpg','image/jpeg','image/png']; if(in_array($_FILES['upload']['type'], $uptype)){ // 将文件移动到临时目录 if(move_uploaded_file($_FILES['upload']['tmp_name'],"upload/{$_FILES['upload']['name']}")){ //upload success echo "<script>alert('上传成功')</script>"; } }else{ echo "<script>alert('只能上传图片')</script>"; } } //对上传文件错误处理 if($_FILES['upload']['error'] > 0){ //echo '<p>错误原因是:<strong>'; switch ($_FILES['upload']['error']){ case 1: echo '文件超过php.ini配置大小'; break; case 2: echo '文件超过表单中常量设置大小'; break; case 3: echo '仅有部分文件被上传'; break; case 4: echo "<script> alert('没有文件上传')</script>"; break; default: echo '未知错误'; break; } echo '</strong></p>'; //删除临时文件 if(file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])){ unlink($_FILES['upload']['tmp_name']); } } }else{ echo '11'; } ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:
对文件和目录的建立、修改、删除操作。
使用表单制作一个简单的文件上传页面。