首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP上传文件和编写TXT文件

PHP上传文件和编写TXT文件
EN

Stack Overflow用户
提问于 2018-06-04 03:43:32
回答 1查看 188关注 0票数 -1

这个SHD工作..。不知道为什么。当用户提交表单时,将文件上载到../images/,并将该文件名写入文本文件。它不会上传文件,而且会清空txt文件,我认为这意味着上传失败。

代码语言:javascript
复制
$img_name = $_FILES['avatar']['name'];
$upload_file = move_uploaded_file($_FILES['avatar']['tmp_name'], "../images/" . $img_name);

$log_avatar = fopen('../archive/avatar.txt', 'w+');
fwrite($log_avatar, $img_name);
fclose($log_avatar);

header("location:user.php");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-04 05:01:23

要将上传文件的名称写入文本文件,请使用"a+“而不是"w+”。它们之间的区别是

"w+“打开文件进行读写,并将文件指针放在文件的开头

"a+“打开文件进行读写,并将文件指针放在文件的末尾

代码语言:javascript
复制
$log_avatar = fopen('../archive/avatar.txt', 'a+');

您还可以使用PHP_EOL添加换行符

代码语言:javascript
复制
fwrite($log_avatar, $img_name.PHP_EOL);

这就是导致文本文件为空的原因

关于上传文件,您的代码中没有任何错误。但我认为您在html表单中有错误,因为文件名是空的

确保将form enctype属性设置为"multipart/form-data“

代码语言:javascript
复制
<form method="POST" enctype="multipart/form-data" action="up.php">

并在上载脚本中使用正确的输入名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50670340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档