php文件的上传与下载文件 (你知道如何上传和下载PHP文件吗?)

随着互联网的不断发展,越来越多的网站需要支持文件的上传和下载。PHP作为一种广泛使用的服务器端脚本语言,可以提供非常方便的文件上传和下载功能。

上传文件

在PHP中,可以通过$_FILES数组来获取上传的文件信息。表单中上传文件的input元素需要添加enctype属性,并指定为“multipart/form-data”,否则文件将不能被上传。

上传文件的基本步骤如下:

1.在表单中指定要上传的文件;
“`html

“`

2.在PHP中获取上传的文件信息;
php
$name = $_FILES['myfile']['name']; // 上传文件名
$type = $_FILES['myfile']['type']; // 文件类型
$size = $_FILES['myfile']['size']; // 文件大小
$tmp_name = $_FILES['myfile']['tmp_name']; // 临时文件名
$error = $_FILES['myfile']['error']; // 错误代码

3.把文件保存到服务器指定的目录中;
php
$dest = "upload/" . $name; // 目标文件路径
move_uploaded_file($tmp_name, $dest); // 保存上传文件

下载文件

PHP中提供了readfile()函数,可以将文件内容读取到输出缓冲区中并输出到浏览器。可以使用该函数直接输出文件内容,也可以将其写入到一个临时文件中再输出。可以通过header()函数来设置响应头的ContentType和Content-Disposition字段,浏览器将根据这些信息来处理文件的下载请求。

下载文件的基本步骤如下:

1.构造响应头,指定ContentType和Content-Disposition字段;
php
header("Content-type: application/octet-stream"); // 指定下载文件类型
header("Content-Disposition: attachment;filename=".$filename); // 指定下载文件名

2.输出文件内容或写入到临时文件中;
php
readfile($filename); // 直接输出文件内容

完整的PHP文件上传和下载示例代码如下:

“`php
// upload.php
<?php
if(isset($FILES[‘myfile’])){
$name = $
FILES[‘myfile’][‘name’]; // 上传文件名
$type = $FILES[‘myfile’][‘type’]; // 文件类型
$size = $
FILES[‘myfile’][‘size’]; // 文件大小
$tmpname = $FILES[‘myfile’][‘tmpname’]; // 临时文件名
$error = $
FILES[‘myfile’][‘error’]; // 错误代码

if($error==0){ // 上传成功
    $dest = "upload/" . $name; // 目标文件路径
    move_uploaded_file($tmp_name, $dest); // 保存上传文件
    echo "上传成功!<br>";
}else{
    echo "上传失败!错误代码:" . $error . "<br>";
}

}

if(isset($GET[‘filename’])){
$filename = $
GET[‘filename’];
$filepath = “upload/” . $filename;

if(file_exists($filepath)){
    // 下载文件
    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment;filename=".$filename);
    readfile($filepath);
}else{
    echo "文件不存在!";
}

}
?>

上传和下载文件


<?php
// 显示已上传的文件列表
$dir = "upload/";
if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) !== false){
if($file != "." && $file != ".."){
echo "” . $file . “
“;
}
}
closedir($dh);
}
}
?>

“`

在上述示例中,通过表单上传文件后,在页面上会显示已上传的文件列表,可以点击文件名下载文件。所有上传的文件将被保存在upload目录中。

如有侵犯您的权益请邮件发送:rainpro@foxmail.com,站长看到会第一时间处理
客栈猫 » php文件的上传与下载文件 (你知道如何上传和下载PHP文件吗?)

提供最优质的资源集合

立即查看 了解详情