php上传文件

$_FILES

作用:用来接收前端上传的文件,并且存储到服务器上。

前端

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="./upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="ccc">
        <input type="submit" name="ddd" value="上传">
</form>
</body>
</html>

后端文件:方法一

php 复制代码
<?php
    // 1) 获取到前端元素对象
    $fileObject = $_FILES["ccc"];  

	// 2) 获取文件名字
    $filename = $fileObject["name"];  # 获取文件名字
    echo $filename;

	// 3) 服务器拿到文件之后,是放到内存中,放到tmp_name键的值就是内存中的路径
	$file_tmpname = $_FILES["ccc"]["tmp_name"];

	// 4) 移动文件
    move_uploaded_file($file_tmpname, '/opt/lampp/htdocs/wh069/crm/demo2/'.$filename); 
?>

后端文件:方法二

php 复制代码
<?php

    // 1) 获取对象
    $fileObject = $_FILES["ccc"];  # 对象类型是一个数组

    // 2) 获取文件对象的属性
    $filename = $fileObject["name"];  # 获取文件名字
    $filesize = $$fileObject["size"]; # 获取文件大小
    $file_tmpname = $_FILES["ccc"]["tmp_name"]; # 获取上传文件在服务器中的临时文件名(系统默认的)

    // 3) 读文件
    $file_obj = fopen("$file_tmpname", 'r');
    $file_content = fread($file_obj, $filesize);
    fclose($file_obj);

    // 4) 写文件
    $fielpath = "/opt/lampp/htdocs/wh069/crm/demo2/".$filename;
    $file_obj = fopen($fielpath, 'w');
    fwrite($file_obj, $file_content);
    fclose($file_obj);
?>

后端文件:方法三

php 复制代码
<?php

    // 1) 获取对象
    $fileObject = $_FILES["ccc"];  # 对象类型是一个数组

    // 2) 获取文件对象的属性
    $filename = $fileObject["name"];  # 获取文件名字
    $filesize = $$fileObject["size"]; # 获取文件大小
    $file_tmpname = $_FILES["ccc"]["tmp_name"]; # 获取上传文件在服务器中的临时文件名(系统默认的)

    // 3) 获取内容
    $file_contnets = file_get_contents("$file_tmpname");

    // 4) 写文件
    $fielpath = "/opt/lampp/htdocs/wh069/crm/demo2/".$filename;
    file_put_contents($fielpath, $file_contnets);
?>
相关推荐
朱嘉鼎29 分钟前
C语言之可变参函数
c语言·开发语言
北冥湖畔的燕雀3 小时前
C++泛型编程(函数模板以及类模板)
开发语言·c++
黄沐阳3 小时前
stp,rstp,mstp的区别
服务器·网络·php
QX_hao5 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白5 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
Evand J7 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
爱喝白开水a8 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
Neverfadeaway8 小时前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
武子康8 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
杰克尼8 小时前
JavaWeb_p165部门管理
java·开发语言·前端