2016-03-31 106 views
-2

我有一個使用窗體上傳圖片並在另一個頁面上顯示圖片的問題,基本問題是我無法在保存圖片的路徑上找到圖片。使用PHP和表格上傳圖像

這是form.php

  <form role="form" id="equipe" action="editEquipe.php" method="get"> 
       <div class="box-body"> 




       <div class="form-group"> 
        <label for="id_equipe">id Equipe</label> 
        <input type="text" class="form-control" id="id_equipe" name="id_equipe"> 
       </div> 


       <div class="form-group"> 
        <label for="drapeau">Télécharger le logo</label> 


        <input type="file" id="logo" name="logo"> 

       </div> 

       </div><!-- /.box-body --> 

       <div class="box-footer"> 
       <button type="submit" value="" class="btn btn-primary">Modifier</button> 
       </div> 
      </form> 

這是我action.php

if(isset($_GET['id_equipe']) && isset($_GET['logo'])) 

    { 
     $id_equipe= $_GET['id_equipe']; 

     $logo = $_GET['logo']; 



    $imgname = "logo_".$id_equipe; 
    $logoImage=$imgname.".png"; 
    $link = "http://.../LogoImages/".$imgname.".png"; 


if ($conn->connect_error) { 
$response["error"] = -1; 
$response["message"] = "cannot connect to the server please try   again"; 
    } 


else 
    { 

    $sql = "UPDATE equipe set 
    nomEquipe='$nom_equipe', 
    logoEquipe=' $link', 
    idChampionnat='$nom_championnat' 

    where idEquipe='$id_equipe' "; 

    $updatedispo = $conn->query(sprintf($sql)); 
    if($updatedispo) 
    {   


    $imsrc = base64_decode($logoImage); 


    $path ="http://.../LogoImages/".$imgname.".png"; 

    $path = str_replace('\/','/',$path); 




    $fp = fopen($path, 'wb'); 
    var_dump($fp); 


    if(is_readable($fp)) echo 'readable '; 
    else echo "no redable "; 

    if(is_writable($fp)) echo 'writable '; 
     else echo "no writable"; 

    fwrite($fp, $logoImage); 
    // var_dump($fp); 

     fclose($fp); 



        $response["error"] = 0; 
        $response['picture'] = $path; 

        $response['message'] = "Image uploaded in ".$path; 
        $response['id_image'] = $id_equipe; 
        $response["message"] = " equipe updated"; 


    } 

    else 
    { 
        $response["error"] = -1; 
        $response["message"] = "error requete"; 
    } 
    } 
    } 


    else 
     { 
     $response["error"] = 100; 
     $response["message"] = "Some params are missing"; 
     } 
    echo json_encode($response); 


     ?> 
+0

上傳文件,需要一個post方法,而不是獲得,以及一個有效的enctype。 RTM http://php.net/manual/en/features.file-upload.post-method.php –

+0

'action =「editEquipe.php」' - *「and this my action.php」* –

回答

0

在表單的enctype = 「多部分/格式數據」

<form role="form" id="equipe" enctype="multipart/form-data" action="editEquipe.php" method="get"> 

這將被用於圖像上載添加此。

+0

對不起,但它不起作用 – user3070123

+0

現在我不能下載圖片,但顯示它的權限始終是600,我希望權限訪問將777作爲默認值,我該怎麼辦?任何想法,我使用FTP – user3070123

0

如前所述,你必須使用POST方法作爲。然後可以在$ _FILE varibale中找到上傳圖像的路徑。

$tmp_path = $_FILES['logo']['tmp_name']; 
$filesize = $_FILES['logo']['size']; 
//filesize is bigger then 0 if the logo was set 

您可以將文件移動到您的www文件夾(http://php.net/manual/en/function.move-uploaded-file.php),但更好的檢查,如果該文件是有效的!,但這不是問題。