如何解决 PHP 中无法运行的 Move_uploaded_file() 问题?

Patricia Arquette
发布: 2024-10-18 14:18:03
原创
671 人浏览过

How to Troubleshoot a Non-Functioning Move_uploaded_file() in PHP?

对 Move_uploaded_file() 函数进行故障排除

通过 Web 应用程序上传文件时,必须确保 move_uploaded_file() 函数完美运行。但是,用户可能会遇到似乎无法按预期工作的情况。

在本文中,我们将深入研究 move_uploaded_file() 不起作用的问题,并提供解决方案。

问题概述

用户实现了一个 PHP 脚本,该脚本利用 move_uploaded_file() 函数来处理文件上传。然而,尽管复制了教程中提供的代码,该函数仍无法正常运行。

代码分析

表单和上传脚本的 HTML 代码似乎是正确的。它包含文件输入的必要属性,并将数据提交到 upload_file.php 脚本。

在 upload_file.php 中,脚本正确提取有关上传文件的信息,包括其名称、临时位置、大小和错误代码。然而,move_uploaded_file()函数使用错误,导致失败。

解决方案

要解决这个问题,两个步骤至关重要:

  1. 启用 PHP 错误报告:
    这允许 PHP 显示详细的错误消息,这可以帮助识别问题的根本原因。
  2. 检查错误代码:
    $_FILES'image' 变量包含指示失败原因的错误代码。常见错误代码包括:

    • UPLOAD_ERR_OK:无错误
    • UPLOAD_ERR_INI_SIZE:文件大小超出服务器允许的最大值
    • UPLOAD_ERR_FORM_SIZE:文件大小超出服务器允许的最大值表单
    • UPLOAD_ERR_NO_FILE:没有上传文件
    • UPLOAD_ERR_PARTIAL:文件仅部分上传

最终更正代码

解决这些问题后,更正后的代码如下所示:

<code class="php">
<?php
$move = __DIR__.'/../../uploads/';
echo $_FILES["file"]['name']."<br>";
echo $_FILES["file"]['tmp_name']."<br>";
echo $_FILES["file"]['size']."<br>";
echo $_FILES['file']['error']."<br>";
move_uploaded_file($_FILES['file']['tmp_name'], $move);
?>
</code>
登录后复制

在这个更新的代码中,使用临时文件名(tmp_name)而不是原始文件名(name),这确保了文件已正确移动到所需位置。

以上是如何解决 PHP 中无法运行的 Move_uploaded_file() 问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!