【问题标题】:PHP Image upload to server, and save path to the PostgreSQL databasePHP 图像上传到服务器,并保存到 PostgreSQL 数据库的路径
【发布时间】:2014-03-18 08:18:27
【问题描述】:

我想修改我的表单以将文件上传到服务器,并将上传文件的完整路径保存到数据库中。

代码:

//EDYCJA AGENTA

    function edycja_agenta($id)

    {

         $q = "SELECT id, ostatnie_logowanie, profil_id, adres_ip, status, lokalizacja, adres_mac, wersja_programu FROM agenty WHERE id=$id";

        $wynik =  pg_query($q) or die("Zapytanie niepoprawne:".$q);

        $ilosc=pg_numrows($wynik);



         $i=0;

while ($i < $ilosc) {

        $id=pg_result($wynik,$i,"id");

        $lokalizacja=pg_result($wynik,$i,"lokalizacja");

        $ostatnie_logowanie=pg_result($wynik,$i,"ostatnie_logowanie");

        $profil_id=pg_result($wynik,$i,"profil_id");

        $adres_ip=pg_result($wynik,$i,"adres_ip");

        $status=pg_result($wynik,$i,"status");

        $adres_mac=pg_result($wynik,$i,"adres_mac");

        $wersja_programu=pg_result($wynik,$i,"wersja_programu");  

        $i++;

  }

    echo'



<form  action="agent.php?id='.$id.'&zapisz" method="post" name="formularz">







    <div class="control-group">
    <label class="control-label">Lokalizacja</label>
    <div class="controls">
      <input type="text" name="lokalizacja" required value="'.$lokalizacja.'" />
      <p class="help-block"></p>
    </div>
  </div>



    <label class="control-label" >Profil</label>

    <div class="controls">

            <select class="formularz_select" name="profil_nazwa" id="lista">';

            echo pobierz_profile($profil_id);

            echo ' </select>

    </div>







 <button type="submit" class="btn btn-primary">Zapisz dane</button>









</form>



';

    }



//KONIEC EDYCJA AGENTA





  //ZAPIS EDYCJA AGENTA

    function zapisz($id)

    {





         if (isset($_POST['profil_nazwa']) ) 

        $profil_nazwa= $_POST['profil_nazwa'];

        if (isset($_POST['lokalizacja']) ) 

        $lokalizacja= $_POST['lokalizacja'];





if( isset($_POST['lokalizacja'])  AND isset($_POST['profil_nazwa'])) {  

         $zapytanie      =  "SELECT id FROM profile WHERE nazwa='$profil_nazwa'";

         $odpowiedz     =  pg_query($zapytanie) or die("Zapytanie niepoprawne:".$zapytanie);

         $id_profilu    =  pg_result($odpowiedz,0,"id");





            $q = "UPDATE agenty SET profil_id='$id_profilu', lokalizacja='$lokalizacja', status='1'  WHERE id=$id";

            $wynik =  pg_query($q) or die("Zapytanie niepoprawne 1:".$q);

           if($wynik) {  $GLOBALS[komunikat_edycja_agenta]="<div id=\"myAlert\" class=\"alert alert-success fade\"><a class=\"close\" data-dismiss=\"alert\">×</a>Edycja zakończona sukcesem</div>";

           } else {       $GLOBALS[komunikat_edycja_agenta]="<div id=\"myAlert\" class=\"alert alert-error fade\"><a class=\"close\" data-dismiss=\"alert\">×</a>Edycja zakończona błędem</div>";     

    }





}



  }



//KONIEC ZAPISU EDYCJA AGENTA  

我知道我需要使用输入类型的文件,但是我不知道如何保存到数据库的路径以及如何为上传的文件指定文件夹。

【问题讨论】:

  • 首先在表单标签中添加 enctype 属性:enctype='multipart/form-data'
  • 我应该如何指定要保存的文件的路径?

标签: php database file postgresql upload


【解决方案1】:

上传文件有一些键:

  1. &lt;input type='file' name='file_name' /&gt;必须有这种输入;
  2. &lt;form encrypt='multipart/form-data'&gt; 表单必须具有加密属性
  3. 在php服务器端使用$_FILES获取上传文件,在这种情况下,你可以 打印 $_FILES['file_name'] 以查看详细信息,记住 $_FILES 数组键必须等于输入的名称 value("file_name")
  4. 要存储您需要使用的文件 move_uploaded_file($temp_name,$save_path),$save_path 必须是可写的

查看示例,请到这里:http://www.w3schools.com/PHP/php_file_upload.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2015-04-20
    相关资源
    最近更新 更多