<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']}"))
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号