我在上两周开始学习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();
}
?>
答案 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