在数据库中存储图像的URL(PHP / MySql)

时间:2016-11-14 08:53:13

标签: php mysql

我在上两周开始学习PHP,我试图编写一个表单来发送信息,包括一个Image到数据库。 我的问题是:我想将图像保存在特定文件夹中,只保存其在数据库上的URL(甚至它的名称,但它必须与我插入图像的信息相关)。我设法让所有其他领域都工作,期待图像,因为我无法弄清楚如何使它工作。 所以我需要帮助才能使它发挥作用。谢谢大家,祝你有个愉快的一天,我会在这里与你分享我的代码。

<?php 

if(isset($_POST['regie']))      $regie=$_POST['regie'];
else      $regie="";

if(isset($_POST['annonceur']))      $annonceur=$_POST['annonceur'];
else      $annonceur="";

if(isset($_POST['categorie']))      $categorie=$_POST['categorie'];
else      $categorie="";

if(isset($_POST['titre']))      $titre=$_POST['titre'];
else      $titre="";

if(isset($_POST['image']))      $image=$_POST['image'];
else      $image="";

if(isset($_POST['nombrepassage']))      $nombrepassage=$_POST['nombrepassage'];
else      $nombrepassage="";

if(isset($_POST['datefin']))      $datefin=$_POST['datefin'];
else      $datefin="";


if(empty($regie) OR empty($annonceur) OR empty($categorie) OR empty($titre) OR empty($image) OR empty($nombrepassage) OR empty($datefin))
    { 
    echo '<font color="red">Attention, aucun champs ne peut rester vide  !</font>'; 
    } 


else      
    { 

$db = mysql_connect('localhost', 'root', 'test123')  or die('Erreur de connexion '.mysql_error());


    mysql_select_db('geomedia',$db)  or die('Erreur de selection '.mysql_error()); 


    $sql = "INSERT INTO ajout(Régie, Annonceur, Catégorie, Titre, Lien, Image, Nombre_Passage, Date_Fin ) VALUES('$regie','$annonceur','$categorie','$titre','$image','$nombrepassage','$datefin')"; 


    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 


    echo 'Vos infos ont bien été ajoutées.'; 

    mysql_close();  
    }  
?>

1 个答案:

答案 0 :(得分:0)

您必须使用<input type="file">。 您的表单应如下所示:

<form enctype="multipart/form-data" action="#" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
    Select file : <input name="my-file" type="file" />
    <input type="submit" name="send-file" />
</form>

然后你不会通过$ _POST访问该文件,但$ _FILES: http://php.net/manual/en/features.file-upload.post-method.php

文档:

$_FILES['userfile']['name']

客户端计算机上文件的原始名称。

$_FILES['userfile']['type']

文件的mime类型,如果浏览器提供此信息。一个例子是“image / gif”。但是,在PHP方面没有检查这个mime类型,因此不会将其值视为理所当然。

$_FILES['userfile']['size']

上传文件的大小(以字节为单位)。

$_FILES['userfile']['tmp_name']

上传文件存储在服务器上的文件的临时文件名。

$_FILES['userfile']['error']

与此文件上传相关联的错误代码。

此外,您在文档中有许多示例。

由于存在许多安全隐患,因此应谨慎设计PHP中的文件上传。 处理这些问题的一个例子:https://www.tutorialspoint.com/php/php_file_uploading.htm