PHP上传文件函数move_upload,如何使用php中move_uploaded_file函数

news/2024/7/7 19:10:41

我们平时上传的文件保存在临时文件夹中,例如/ tmp,但临时文件夹的内容在一段时间后会被删除,因此为了将来要使用上传文件,需要将内容保存在不太可能被任意删除的专用目录中,这时就需要使用move_uploaded_file函数,move_uploaded_file函数可用于更改客户端请求上传的文件的存储位置。

692363ab73698cc6fa4404d2a1e28494.png

我们来看一下move_uploaded_file函数的写法

首先我们必须将移动前的路径指定为第一个参数。

基本上指定$ _FILES ['item name'] ['tmp_name']。

$ _FILES ['item name']表示该文件的信息,'[tmp_name']是保存在临时文件夹中的文件的路径。

第二个参数指定目标路径。

由于必须指定包括文件名的完整路径,因此请注意不要复制现有文件名。

至于关联数组的值,它作为示例的临时值,并且它实际上根据环境而改变。Array(

[name] => test.csv

[type] => text/plain

[tmp_name] => /tmp/php5dkdaFd

[error] => 0

[size] => 123

)

我们来实际写一下

下面的代码假定使用项目名称upload_csv上传csv文件。

此外,保存目标是“/ var / www / files /”,文件名是基于当前日期和时间的随机字符串。// 保存文件

$storeDir = '/var/www/files/';

// 在上传文件的时候,因为要指定基本的post,所以要检查是否指定了其他的值

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {

exit('请指定POST方法');

}

//如果上传成功的话,[“error”]将保存0(= UPLOADIER ERR)

if ($_FILES['upload_csv']['error'] !== UPLOAD_ERR_OK) {

exit('上传失败');

}

// 上传到[ ' type ' ]文件的Min类型

// 因此,检查上传的文件是否是CSV文件

if ($_FILES['upload_csv']['type'] !== 'text/csv') {

exit('请上传CSV文件');

}

// 以现在的时间为基础,生成唯一的值并作为文件名

$filename = uniqid().'csv';

// 将文件从临时文件夹移动到指定目录

move_uploaded_file($_FILES['upload_csv']['tmp_name'], $storeDir.$filename);

本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网的相关教程栏目!!!


http://lihuaxi.xjx100.cn/news/236339.html

相关文章

Dubbo2.6.5+Nacos注册中心(代替Zookeeper)

在上一节的小栗子的基础上&#xff0c;只需要更改两个地方 第一个&#xff1a;父工程的pom依赖增加 <!-- Dubbo Nacos registry dependency --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo-registry-nacos</artifactId>…

oracle停止一切进程,oracle启动/停止的几种方法以及 启动和停止过程中出错的解决办法...

一、启动几种方法&#xff1a;1、sqlplus /nologconnect /as sysdbastartup2、sqlplus /nologconnect /as sysdbastartup nomountalter database mountalter database open在以上两种方法中&#xff0c;1方法中的startup相当于2方法中的startup nomountalter database mountalt…

Web.XML文件中关于代码提示的一些问题

1. 问题描述 在进行ssm的整合时&#xff0c;我发现在web.xml文件中里按了alt/以后没有下面的提示&#xff1a;这样真的很不爽。。。于是弄了半天&#xff08;主要是等着&#xff09;终于解决了&#xff0c;特此写篇博客记录下。 2. 解决方案 在eclipse中安装Spring IDE的插件&a…

C++动态二维数组演示的代码

将代码过程中经常用到的代码珍藏起来&#xff0c;下边资料是关于C动态二维数组演示的代码。 #include <iostream> #include <string>using namespace std;{for( int i 0; i < x; i ){List[i] new int[y];for( int j 0; j < y; j ){List[i][j] 0;}}for( i…

oracle scn与数据恢复,SCN与数据库恢复的关系

一。SCN与CHECKPOINTCKPT进程在checkpoint发生时&#xff0c;将当时的SCN号写入数据文件头和控制文件&#xff0c;同时通知DBWR进程将数据块写到数据文件。CKPT进程也会在控制文件中记录RBA(redo block address),以标志Recovery需要从日志中哪个地方开始。与checkpoint相关的SC…

从 Java 到 Scala(二):object

本文由 Rhyme 发表在 ScalaCool 团队博客。 object是一种让静态回归常态、打破模式、天然的语言特性。 其实在写这篇文章之前&#xff0c;我思绪万千&#xff0c;迟迟不能落笔&#xff0c;总想着自己会不会遗漏了某个知识点&#xff0c;或者有讲得不太那么准确的地方&#xff0…

redux-thunk使用教程

从无到有一步一步创建一个react-redux、redux-thunk使用教程&#xff1a;本教程GitHub地址&#xff1a;https://github.com/chunhuigao/react-redux-thunk创建react工程在电脑上找一个文件夹&#xff0c;在命令窗使用create-react-app 创建我的react工程&#xff1b;这一步应该…

oracle异地迁移,数据泵实现Oracle数据迁移到异地库

今天发现impdp命令有个特殊的用途&#xff0c;可以将数据库的一个用户迁移到另一台机器上的数据库的用户中。如果目标用户不存在&#xff0c;还可以对应的创建该用户。下面就来看一下命令格式&#xff1a;Impdpusername/passwddbsnameremap_schemauserA:userB remap_tablespace…