Wszystko jest w porządku, mogę oddzielnie wstawić zapytanie do mojej bazy danych, ale nie przesuwa się przesłanego pliku, jest mój kod. Zobacz, jeśli znajdziesz jakiś problem poniżej.

Sprawdził, że katalog folderów obrazu jest poprawny katalog zabiera mnie do dokładnego folderu. Upload_file jest również włączony w php.ini
Ale nadal nie działa.

<?php

$conn = mysqli_connect("localhost", "root", "HERE_IS_MYCORRECT_PASSWORD", "HERE_IS_MYCORRECT_DTABASE_NAME");
if($conn) {

echo "<p style='color:green;'>connected</p>";
}
else {
    echo " connection failed";
}
if(isset($_POST['uploadfilesub'])){
    $id = $_POST['id'];
    $filename = $_FILES['uploadfile']['name'];
    $filetmpname = $_FILES['uploadfile']['tmp_name'];
    $folder = './Resources/style/images/' . $filename;
    echo "<p>".$filename."</p>";
    echo "<p>".$filetmpname."</p>";
    $sql = "INSERT INTO product_images VALUES ($id,'$filename') ";
    if(move_uploaded_file($filetmpname , $folder)){
         echo "<p color='green'>moved</p>";
         $qry = mysqli_query($conn, $sql);
         if($qry){
            echo "<p color='green'>Inserted into mysql</p>";
        } else {
            echo "<p color='red'>Failed to Insert</p>";
        }
     }
     else {
         echo "<p style='color:red;'>Failed to move</p>";
    }

}
?>

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>Document</title>
 </head>
 <body>
     <form action="" method="post" enctype="multipart/form-data">
        <input type="text" name="id">
        <input type="file" name="uploadfile" />
        <input type="submit" name="uploadfilesub" value="upload" />
     </form>
 </body>
 </html>
1
Mohsen Amani 9 styczeń 2020, 08:52

1 odpowiedź

Najlepsza odpowiedź

O ile widzę twój błąd (w odniesieniu do konkretnego, wymienionego, problemu) jest bardzo proste:

$folder = './Resources/style/images/';

Zmień na:

$folder = './Resources/style/images/' . $filename;

Po prostu move_uploaded_file oczekuje pełnej ścieżki docelowej i nie tylko folder docelowy.

0
Bartosz Pachołek 9 styczeń 2020, 05:57