簡體   English   中英

PHP圖片上傳可以上傳到localhost文件夾和mysql數據庫,但圖片不加載

[英]PHP image upload can upload on localhost file folder and mysql database but the image not loading

在此處輸入圖片說明

文件路徑:C:\\TEMP\\bcproject\\images

我已經測試了下面的代碼。 當我嘗試在我的目錄路徑 C:\\TEMP\\bcproject\\images 中上傳圖像時,該圖像成功插入到數據庫中。 但我面臨的問題是我無法在我的文件夾中查看圖像......上面我確實提供了問題的圖片。

現在尋求幫助

我的代碼: testaddimage.php

<?php
include("connection.php");

if(isset($_POST['but_upload'])){

    $name = $_FILES['file']['name'];
    $target_dir = "images/" .$name;
    $target_file = $target_dir . basename($_FILES["file"]["name"]);

    // Select file type
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

    // Valid file extensions
    $extensions_arr = array("jpg","jpeg","png","gif");

    // Check extension
    if( in_array($imageFileType,$extensions_arr) ){ // this can but no image appear

        // Insert record
        $query = "insert into test(imagename) values('".$name."')";
        mysqli_query($conn,$query);

        // Upload file
        move_uploaded_file($_FILES['file']['tmp_name'],$target_dir);

    }

    /*$name = $_FILES['file']['name'];
    $tmpname = $_FILES['file']['tmp_name'];
    $size = $_FILES['file']['size'];
    $error = $_FILES['file']['error'];
    $type = $_FILES['file']['type'];
    echo $name. " ". $tmpname. " ".$size . " ". $error . " ". $type;
    $fileext = (explode('.',$name));
    $fileactualext = strtolower(end($fileext));
    $allowed = array("jpg","jpeg","png","gif");

    if( in_array($fileactualext,$allowed) ) {
     if ($error === 0)
     {
         if($size < 1000000){
$filenamenew = uniqid('',true). "." . $fileactualext;
$filedir = 'images/'. $filenamenew;
move_uploaded_file( $tmpname,$filedir );
header("location:testaddimage.php");
         } else {
             echo "File to big";
         }
         echo "There was an error.";
     }
    }else
    {
        echo  "cannot uploade";
    }
*/


}
?>

<form method="post" action="testaddimage.php" enctype='multipart/form-data'>
    <input type='file' name='file' />
    <input type='submit' value='Save name' name='but_upload'>
</form>

連接.php

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$database = "playgadget";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

首先, move_uploaded_file 返回 true 還是 false ? ( https://www.php.net/manual/fr/function.move-uploaded-file.php )

其次,您是否檢查了目標目錄權限?

第三,當您在 Windows 上時,請確保斜杠是正確的(使用 DIRECTORY_SEPARATOR const 而不是“/”或“\\”)。 我不記得 php 是否處理過這個問題。

暫無
暫無

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

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