Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用php将上载的图像导入上载文件_Php_Html - Fatal编程技术网

无法使用php将上载的图像导入上载文件

无法使用php将上载的图像导入上载文件,php,html,Php,Html,创建表单并键入php代码后,我有了一个表单,可以在其中输入文件,特别是图像,并且不会收到任何错误消息,也不会在url中获得成功消息,上载的图像仍然无法在其目标文件夹中找到 这是HTML <form action="" class="navbar-form navbar-right" role="search"> <div class="form-group"> <input ty

创建表单并键入php代码后,我有了一个表单,可以在其中输入文件,特别是图像,并且不会收到任何错误消息,也不会在url中获得成功消息,上载的图像仍然无法在其目标文件夹中找到

这是HTML

<form action="" class="navbar-form navbar-right" role="search">
                    <div class="form-group">
                        <input type="text" class="form-control" placeholder="Find Art Here">
                    </div>
                    <button type="submit" class="btn btn-primary">Search</button>
                </form>

搜寻
这里是php

<?php
if (isset($_POST['submit'])) {
$file = $_FILES['file'];

$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fileType = $file['type'];

$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));

$allow = array('jpg', 'jpeg', 'png', 'pdf');

if (in_array($fileActualExt, $allow)) {
    if($fileError === 0){
        if($fileSize < 5000000) {
            $fileNameNew = uniqid('', true).".".$fileActualExt;
        $fileDestination = 'uplaods/'.$fileNameNew;
        move_uploaded_file($fileTmpName, $fileDestination);
            header("Location: index.php?uploadsucess");
        } else{
            echo "Your file is too big";
        }
    } else {
        echo "There was an error uplaoding your file!";
    }
} else{
    echo "You cannot upload files of this type!";
}
在表单中添加以下内容

  enctype="multipart/form-data"
范例

  <form method="post" class="login-form" enctype="multipart/form-data" 
     action="my.php">

您是如何与
$\u文件进行通信的?你需要使用

type=“file”
在您的输入中

您必须做的第一件事是将
enctype=“multipart/form data”
method=“post”
添加到您的
表单
-标记:

<form action="" method="post" enctype="multipart/form-data">

如果仍然不起作用,请检查
php.ini中的
upload\u max\u filesize
post\u max\u size
设置。如果您的文件太大,只有
移动上传的文件()
将返回
false
,因此也要检查该函数。

您的
缺少一个属性来发送文件:

enctype="multipart/form-data"
为了确保上传完成,请将
移动上传的文件()
置于一个条件下,因为该函数返回一个布尔值:

if (move_uploaded_file($fileTmpName, $fileDestination)) {
    header("Location: index.php?uploadsucess");
} else {
    header("Location: index.php?uploadfail");
}
另外,获取文件扩展名的更好方法是使用
pathinfo()

  • 您的表单中没有任何

  • 您可能错误地发送了上载目录:uplaods

1)在表单标签中添加
enctype=“多部分/表单数据”
。 2)
fileDestination='uplaods/'。$filenamew文件名拼写错误。(如果是故意的,那么我的错)。

3)
类型应该是file。

只要检查一下你的html元素,我想你遗漏了一些你正在上传的文件夹-uplaods或uploads。这是打字错误还是你故意这么做?我做了所有这些更改并修复了它,但我仍然无法上传到“上传”文件夹。这是新的密码:谢谢你的邀请look@nickwiseman您还没有改变一切:获取文件扩展名的方式,最重要的是:将
move\u uploaded\u file()
置于一个状态,以了解它是否有效!正确文件的输出是什么?可能尝试在上传路径之前添加,如:
$fileDestination=\uuuuuuu DIR\uuuuu.'/beta/vangogh/upload/.$filenamew
pathinfo($fileName, PATHINFO_EXTENSION);