簡體   English   中英

PHP不會將圖像文件上傳到文件夾

[英]PHP does not upload image file to folder

我做了一個函數,可以將圖像上傳到數據庫,然后將圖像上傳到文件夾。

數據庫中的url更改為圖像的url,但是文件未上載到文件夾。

我收到錯誤: Undefined index: user_image in image.php

這是我的代碼:

圖片.php

<?php
$edit_row['opzoekImage'] = $_POST["user_image"];
$imgFile = $_FILES['user_image']['name'];
$tmp_dir = $_FILES['user_image']['tmp_name'];
$imgSize = $_FILES['user_image']['size'];

if($imgFile)
{
    $upload_dir = 'user_images/'; // upload directory   
    $imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
    $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
    $userpic = rand(1000,1000000).".".$imgExt;
    if(in_array($imgExt, $valid_extensions))
    {           
        if($imgSize < 5000000)
        {
            unlink($upload_dir.$edit_row['opzoekImage']);
            move_uploaded_file($tmp_dir,$upload_dir.$userpic);
        }
        else
        {
            $errMSG = "Sorry, your file is too large it should be less then 5MB";
        }
    }
    else
    {
        $errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";        
    }   
}
else
{
    $userpic = $edit_row['opzoekImage']; // old image from database
}
?>

New.php

<?php 
    if(isset($_POST["submit"]) && isset($_GET['website_naam']) && isset($_GET['tbl_name']) && $_GET['tbl_name'] == "tblOpzoek") {
    include('config.php');
    $website_naam = $_GET['website_naam'];
    $sqlWebsiteId =  "SELECT websiteId FROM tblWebsite WHERE websiteNaam = '$website_naam'";
    if($db->query($sqlWebsiteId) != "") {
        $resultWebsiteId = $db->query($sqlWebsiteId);
        if ($resultWebsiteId->num_rows > 0) {
            // output data of each row
            while($row = $resultWebsiteId->fetch_assoc()) {
                $websiteId = $row["websiteId"];
            }
            include('image.php');
    $sqlToevoegenType = "INSERT INTO tblOpzoek (websiteId, opzoekName, opzoekValue, opzoekImage) VALUES ('".$websiteId."', '".$_POST["typeNaamToevoegen"]."', '".$_POST["typeWaardeToevoegen"]."', '".$userpic."')";
    if($db->query($sqlToevoegenType) === TRUE) {
        header('Location: ' . $_SERVER['HTTP_REFERER']);
        } else {
        echo "<script type= 'text/javascript'>alert('Error: " . $sqlToevoegenType . "<br>" . $db->error."');</script>";
        }
        } else {
            echo "0 results";
        }
        } 
    }
?>

我的表單: name="user_image"我還有更多的表單,其文件輸入name="user_image"

<!-- Type toevoegen-->
<div class="modal fade" id="addType" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
     <form action="php/new.php?website_naam=<?php echo $websiteNaam ?>&tbl_name=tblOpzoek" method="post" id="formTypeToevoegen">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Type toevoegen</h4>
      </div>
      <div class="modal-body">
        <div class="form-group">
            <label>Type Naam</label>
            <input type="text" id="typeNaamToevoegen" name="typeNaamToevoegen" class="form-control" >
        </div>
        <div class="form-group">
            <label>Type Waarde</label>
            <input type="text" id="typeWaardeToevoegen" name="typeWaardeToevoegen" class="form-control" >
        </div>
        <div class="form-group">
            <label>Type Afbeelding</label>
            <input class="input-group" type="file" id="videoUploadFile" name="user_image" accept="image/*" />
        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Sluiten</button>
        <button type="submit" name="submit" class="btn btn-primary">Gegevens opslaan</button>
      </div>
    </form>
    </div>
  </div>
</div>

謝謝你的時間!

您需要將enctype屬性添加到<form>標記中

<form enctype="multipart/form-data">

根據您的錯誤,首先檢查在輸入標簽中定義的名稱,因為如果在輸入標簽中定義其他名稱並在$ _FILES中定義其他名稱,則顯示錯誤。

因此在輸入標簽和$ _FILES中定義相同的名稱,例如

$ _FILES ['user_image'] ['name'];

如果以上正確,請檢查是否以表格形式添加enctype =“ multipart / form-data”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM