php move_uploaded_file()上传文件实例及遇到问题的解决方法
时间:2016-09-29
php move_uploaded_file()函数用于将HTTP POST的文件上传到服务器,如果目标文件已经存在,将会被覆盖。本文章向大家介绍move_uploaded_file()函数的使用方法及在使用该函数时需要注意的问题和解决方法,需要的朋友可以参考一下。
php move_uploaded_file()介绍
move_uploaded_file() 函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。
语法
move_uploaded_file(filename,destination)
参数
参数 | 描述 |
---|---|
filename | 上传的文件的文件名。 |
destination | 移动文件到这个位置。 |
本函数检查并确保由 filename 指定的文件是合法的上传文件。如果文件合法,则将其移动到 destination指定的位置。
如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。
如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。
注意
- 本函数仅用于通过 HTTP POST 上传的文件。
- 如果目标文件已经存在,将会被覆盖。
move_uploaded_file()函数实例
使用move_uploaded_file()函数上传文件到服务器。
<?php
$tmp_filename = $_FILES['myupload']['tmp_name'];
if(!move_uploaded_file($tmp_filename,"/path/to/dest/{$_FILES['myupload']['name']}")) {
echo "An error has occurred moving the uploaded file.<BR>";
echo "Please ensure that if safe_mode is on that the " . "UID PHP is using matches the file.";
exit;
} else {
echo "The file has been successfully uploaded!";
}
?>
move_uploaded_file上传文件失败的案例及解决方法
今天在实现一个在用户注册时上传头像图片文件的PHP脚本时,出现了问题:php脚本代码如下:
<?php
define('ROOT',dirname(__FILE__).'/');
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(is_uploaded_file($_FILES['file']['tmp_name'])){
$stored_path = ROOT.'/upload/'.basename($_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'],$stored_path)){
echo "Stored in: " . $stored_path;
}else{
echo 'Stored failed:file save error';
}
}else{
echo 'Stored failed:no post ';
}
}
}
?>
当我执行执行上面的脚本时,脚本输出"Stored failed:file save error",很明显是出错了.在php_error_log文件中我看到了出错问题:权限不够,我终于找到了出错的地方:我们存放图片的目的目录对执行PHP的用户来说是没有权限的,执行PHP脚本的用户和我写脚本代码、创建图片文件夹的用户不是同一个用户,因此只需要将文件权限改为777即可。
- Envoy架构概览(7):断路,全局限速和TLS
- Envoy架构概览(9):访问日志,MongoDB,DynamoDB,Redis
- 【前沿】TensorFlow Pytorch Keras代码实现深度学习大神Hinton NIPS2017 Capsule论文
- Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
- 跨平台:使用OWIN 为WebAPI 宿主
- 如何在UWP中统一处理不同设备间的页面回退逻辑
- new and override
- 初识SignalR~仿QQ即时聊天(群发,单发)(Web,WPF等Demo演示)【上】
- 【翻译】A Next-Generation Smart Contract and Decentralized Application Platform
- asp.net回调javascript
- Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功能。
- Python 工匠:善用变量来改善代码质量
- sql数据库打包部署安装
- 打包并自动安装sql数据库
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 实例分析PHP将字符串转换成数字的方法
- Laravel5.4框架使用socialite实现github登录的方法
- PHP删除字符串中非字母数字字符方法总结
- 实例讲解php将字符串输出到HTML
- PHP的mysqli_stat()函数讲解
- php中访问修饰符的知识点总结
- 浅谈keras 模型用于预测时的注意事项
- 使用Keras预训练好的模型进行目标类别预测详解
- keras输出预测值和真实值方式
- 对python pandas中 inplace 参数的理解
- PHP基于GD2函数库实现验证码功能示例
- PHP合并两个或多个数组的方法
- PHP的mysqli_set_charset()函数讲解
- PHP常见加密函数用法示例【crypt与md5】
- PHP的mysqli_sqlstate()函数讲解