实例
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?> " method="post" enctype="multipart/form-data"> <fieldset> <legend >文件上传</legend> <input type="file" id="upload" name="upload"> </fieldset> <p align="center"><input type="submit" value="提交" name="submit"></p> </form> <?php if($_SERVER['REQUEST_METHOD']=='POST') { if(isset($_FILES['upload'])) { if( ($_FILES['upload']['type']=='image/jpg')|| ($_FILES['upload']['type']=='image/png')|| ($_FILES['upload']['type']=='image/jpeg') ) { if(move_uploaded_file($_FILES['upload']['tmp_name'],"upload/{$_FILES['upload']['name']}")) { echo "<script>alert('上传成功')</script>"; } } else echo "<script>alert('请选择正确文件类型')</script>"; } else exit('请选择上传文件'); } else exit('请求类型错误'); ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php $dir=opendir('../0827') or die('打开失败'); while ($content=readdir($dir)) { if(($content!='.')&&($content!='..')) { echo nl2br($content."\n"); } } echo '<hr>'; $file=scandir('../0824'); foreach ($file as $content) { if(($content!='.')&&($content!='..')) { echo nl2br($content."\n"); } } ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
echo $_SERVER['DOCUMENT_ROOT']; 网站根目录,不知道指向何方就打印一下 E:/xampp/htdocs
fwrite() 等同于fputs fwrite($fp,$outputstring); 第三个参数是限制长度, 一般用strlen($outputstring),跨平台用到
fgets() 每次读取一行,直到读到换行符\n,或者文件结束符EOF。
fgetss() 与fget 相似,过滤PHP和html标记
'r'读模式,从头开始读
'w'写模式,打开文件,从头开始写,如果文件内已有内容将被删除,没有文件,将创建新文件
'a'追加模式打开文件,从末尾始追加写或者读,没有文件,将创建新文件
file_get_contents()将以字符串的形式返回文件内容,而不是将文件内容回显到显示器中。
例如 $content=file_get_contents('text.txt');
打印字符串 echo $content;
array_rand(array,number)函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。
array 必需。规定数组。
number 可选。规定返回多少随机键名。
目录操作 (相当于文件操作)
opendir(),readdir, closedir
.表示当前目录
..表示上一级目录
scandir 目录扫描,返回数组;
文件的魔术常量
__FILE__ (双下划线) 返回当前文件的绝对路径 echo __FILE__; E:\xampp\htdocs\phpstudy\0828\demo3.php
basename(__FILE__)获取当前文件的文件名
__DIR__获取当前文件的目录名 注意返回值最后没有反斜线 要手动添加
pathinfo():将目录名,文件名,扩展或解析到一个数组中
DIRECTORY_SEPARATOR 是分隔符,用于不用系统的目录分割
pathinfo():将目录名,文件名,扩展或解析到一个数组中
$pathinfo = pathinfo(__FILE__);
echo '目录名:', $pathinfo['dirname'],'<br>';
echo '文件名:', $pathinfo['basename'],'<br>';
echo '扩展名:', $pathinfo['extension'],'<br>';
unlink()删除文件 例如:unlink('file.txt')
copy()复制文件;列子:copy('text1','../0827/newtext') or die('复制失败') 将文件目录下的text1 复制到上级目录下的0827中,并重新命名newtext
rename()移动文件(原文件将移动) rename('text1', '../0827/text1.txt') or die('复制失败') 将文件目录下的text1 移动到上级目录下的0827中,命名不变,原文件消失 .绝对路径写法(rename('text1',__DIR__.'/../0827/text1.txt')
mkdir() 在当前目录中再创建目录 例如mkdir('admin');
rmdir()删除目录,目录中为空时才能操作。
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。
默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。
application/x-www-form-urlencoded 在发送前编码所有字符(默认)
multipart/form-data 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
text/plain 空格转换为 "+" 加号,但不对特殊字符编码。
$_SERVER['PHP_SELF'];当前脚本名称,表单提交用当前脚本处理时使用
$_FILES['file']['name']: 文件原始名称
$_FILES['file']['type']: 文件类型
$_FILES['file']['size']: 上传的文件大小
$_FILES['file']['tmp_name']: 服务器上的临时文件夹
$_FILES['file']['error']: 上传错误代码
if(move_uploaded_file($_FILES['upload']['tmp_name'],"upload/{$_FILES['upload']['name']}"))