2016-11-14 3 views
0

私はこの2週間の間にPHPを学び始めました。画像をデータベースに送るなどの情報を送るフォームをコーディングしようとしています。 私の問題は:特定のフォルダに画像を保存し、そのURLだけをデータベースに保存したい(またはその名前でも、画像に挿入した情報に関連するものでなければならない)。私は他のすべての分野の仕事をイメージさせることができました。なぜなら、私はそれをどのように機能させるかを理解できなかったからです。 私はそれが機能するように助けが必要です。みんなありがとう、素敵な一日を、私はここで私のコードを共有します。画像のURLをデータベース(PHP/MySql)に保存

<?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

、http://stackoverflow.com/questions/35253550/upload-a-file-using-php – Garf365

+0

を参照してください私は1つを持っていたI私のファイルにインクルードしようとしましたが、うまくいきませんでした。 – SakiManiac

答えて

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」があります。しかし、このMIMEタイプはPHP側ではチェックされておらず、したがって、その値を当然のものと見なしません。

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

アップロードされたファイルのサイズ(バイト単位)。

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

アップロードされたファイルがサーバーに保存されたファイルの一時ファイル名。

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

このファイルのアップロードに関連するエラーコード。

また、ドキュメントには多数のサンプルがあります。

多くのセキュリティ上の落とし穴のため、PHPでのファイルアップロードは注意深く設計する必要があります。 それらに対処する例:あなたが画像をアップロードするためのコードを持っていないhttps://www.tutorialspoint.com/php/php_file_uploading.htm

関連する問題