在 php 中上传图像时无法打开流 // 使用 Mysql

Failed to open stream when uploa image in php // using Mysql

我正在尝试上传产品图片并将所有信息(产品 ID、名称、类别...)插入到 table 产品中。

我的代码返回错误的问题:

Warning: file_get_contents(26754765_956068941216475_1243103994_n.jpg): failed to open stream: No such file or directory in C:\xampp\htdocs\PFE\upload.php on line 17

有什么帮助吗?? 下面是我的代码 html php

<html>
<head>
<meta charset="utf-8" />
<title>Ajout produit</title>
</head>
<body >
<form  method="POST" action="upload.php" enctype="multipart/form-data">
<fieldset>
<legend align="center" ><h2><font color="#990000" face="Georgia, Times New Roman, Times, serif" >Décrivez votre produit!</font></h2></legend>
<p>
       <label for="idpro">Identifiant de produit </label>
       <input type="text" name="idpro" id="idpro" >
       <br />
   </p>
   <p>
       <label for="nom">Nom de produit</label>
       <input type="text" name="nom" id="nom"/>
       <br />
   </p>
   <p>
      <label for="fileToUpload">Photo pour votre produit : </label>
     <input  type="file"  name="file" id="file"/>
    </p>
  <p>
       <label for="descrp">Description votre Produit:</label>
       <input type="text" name="descrip" id="descrip" />
       <br />
   </p>
  <label for="prix">Votre prix minimal</label>
 <input type="text" name="prix" id="prix"/>
 <br/>
 <p>
       <label for="categ">Categorie de produit</label>
       <input type="text" name="categ" id="categ"/>
       <br />
   </p>
 </fieldset>
 <div align="center">
<button type="submit" name="submit" id="submit" >Ajout</button>
<button type="reset">Annuler</button>
</div>
</body>
</html>

PHP代码

<?php
$nom_base_donnees=new mysqli('localhost','root','','enchere') or die ("impossible de se connecter") ; 
if(isset($_POST['submit'])){
    $idpro=$_POST['idpro']; 
    $nom=$_POST['nom'];
    $descrip=$_POST['descrip'];
    $prix=$_POST['prix'];  
    $categ=$_POST['categ'];
    $datetime = date("Y-m-d-H-i-s");
    echo $_FILES["file"]["tmp_name"];
    //$sql="SELECT * FROM produit where produit.idpro=$idpro"; 
    //$res=mysqli_query($nom_base_donnees,$sql);
    //$nb=mysqli_fetch_array($res,MYSQLI_NUM);

    //if ( $nb>0 ) die ("identifiant deja utilisee");
    // else {
    $image = addslashes(file_get_contents($_FILES["file"]["name"]));
    $image_name = addslashes($_FILES["file"]["tmp_name"]);

    $req = "INSERT INTO produit VALUE ('$idpro','$nom','$nameprod','$descrip','$prix','$categ','$image_name','$image')"; 
    $res= mysqli_query($nom_base_donnees,$req);
    if ($res) die ("insertion de produit avec succées") ;    
}
?>

使用 $_FILES["file"]["tmp_name"]

定位文件

用户电脑上的文件名在$_FILES["file"]["name"]

所以改变这个

$image = addslashes(file_get_contents($_FILES["file"]["name"]));
$image_name = addslashes($_FILES["file"]["tmp_name"]);

$image = file_get_contents($_FILES["file"]["tmp_name"]);
$image_name = $_FILES["file"]["name"];