显示文件名在php中发生更改的图片

显示文件名在php中发生更改的图片,php,database,image,Php,Database,Image,我在显示可以上传到我的网站上的图片时遇到问题。在上传过程中,我更改了文件名,将图片存储在文件夹中,并将文件名存储在数据库中。我在下面展示我的代码。首先,非常感谢那些想看一看的人: 上传图片的表单: <form method="post" action="PicPost.php" enctype="multipart/form-data"> <label for="Pic">Upload your pic: (JPG, JPEG PNG ou GIF | max. 1

我在显示可以上传到我的网站上的图片时遇到问题。在上传过程中,我更改了文件名,将图片存储在文件夹中,并将文件名存储在数据库中。我在下面展示我的代码。首先,非常感谢那些想看一看的人:

上传图片的表单:

<form method="post" action="PicPost.php" enctype="multipart/form-data">
 <label for="Pic">Upload your pic: (JPG, JPEG PNG ou GIF  | max. 1 Mo) :</label><br />
     <input type="hidden" name="maxsize" value="1048576" />
     <input type="file" name="Pic" id="Pic" />

 <p>
   <label>Tags
   <input type="text" name="Tags" id="Tags" />
   </label>
   <br />

   <input type="submit" name="submit" value="Submit" />
      </p>
  </form> 

上传图片:(JPG,JPEG PNG ou GIF |最多1个月):
标签

在PicPost.php中完成上传的代码:

 <?php
$maxsize = '1048576';

 if ($_FILES['Pic']['error'] > 0) $erreur = "Error";

 if ($_FILES['Pic']['size'] > $maxsize) $erreur = "The file is too big";

 $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
 $extension_upload = strtolower(  substr(  strrchr($_FILES['Pic']     ['name'], '.')  ,1)  );
  if ( in_array($extension_upload,$extensions_valides) ) echo "Correct extension";

 $name = md5(uniqid(rand(), true));

 $resultat = move_uploaded_file($_FILES['Pic']['tmp_name'],$name);
 if ($resultat) echo "Upload successful";

 try
 {
 $bdd = new PDO('mysql:host=localhost;dbname=mydb', 'root', '');
 }
 catch (Exception $e)
 {
die('Erreur : ' . $e->getMessage());
 }
 $req = $bdd->prepare('INSERT INTO picdb (Picture, Tags)
 VALUES(?, ?)');
 $req->execute(array($name, $_POST['Tags']));

将新文件名存储在数据库、其他字段或您已有的字段中


您正在存储原始文件名

谢谢您的提示,我只是在投票。我接受了其他答案。我不知道在哪里可以添加错误处理,我已经在上传过程中(第二个代码)Hi case 1352中有几个错误处理。奇怪的是,我刚刚检查过,数据库和文件夹中的文件名都正确地替换为字母数字名称。文件夹的路径正确吗?您正在生成的html假设图像与php脚本位于同一文件夹中是的,目前我将其存储在同一文件夹中只是为了测试目的。一旦成功,我将为图片创建一个特殊文件夹。您的意思是如果“echo”“;”行正确检索名称?我想这就是问题所在。我不知道如何在此行中正确插入变量以正确显示图片。当我写“echo$donnees['Picture'];”时,我得到了正确的文件名。当您在浏览器中显示searchpost.php的源代码时,html中的文件名是否正确
<form id="form1" name="form1" method="post" action="SearchPost.php">
<label>
<input type="text" name="Search" id="Search" />
</label>
<label>
<input type="submit" name="Submit" id="Submit" value="Search" />
</label>
</form>
try
{
$bdd = new PDO('mysql:host=localhost;dbname=mydb', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}


 $reponse = $bdd->query('SELECT Picture FROM picdb WHERE
 Tags=\''.$_POST['Search'].'\'');

  while ($donnees = $reponse->fetch())


 echo "<img src=".$donnees['Picture']."/>";

 $reponse->closeCursor();