2014-02-21 74 views
0

我正在處理包含個人數據的表單,並且想要將照片上傳到遠程服務器。 在我第一次嘗試了文件中使用下面的代碼來:表單發送數據但沒有將文件上傳到服務器

up_file.php

<?php 

    error_reporting(E_ALL); 

    $file = $_FILES["img"]["name"]; 
    $file_remote = $_FILES["img"]["tmp_name"]; 


if ($file){ 
    if(strstr($file,".jpg")||strstr($file,".jpeg")||strstr($file,".png")){ 
     $destino = "/absolute/route/directory/".$file; 
     if(move_uploaded_file($file_remote, $destino)){ 
      echo "Moved in server"; 
     } 
     else 
      echo "Not moved"; 

    } 

} 
?> 

這工作,如果我使用它獨自一人,但是當我嘗試將其插入到哪裏取碼所有的表格參數,然後它不起作用,我不知道爲什麼。

我正在考慮使用2種不同的形式,但上傳一張照片是必需的形式,然後我正在尋找一些JS代碼,允許我發送2個表單提交相同的按鈕,但也許不是一個好主意。

謝謝!

+0

只有一個表單可以一次提交,除非它們被提交到框架/新窗口。 – epascarello

+0

你可以顯示你的html,以及你插入這個的其他代碼嗎? – CodeBird

回答

0

我不明白你的問題,但如果你想在請求頁面獲得更多的參數,可以你可以使用:

形式:

<form action="" method="post" enctype="multipart/form-data" name="formz" > 
    Name:<br /> 
    <input type="text" name="name" /><br /><br /> 
    Email:<br /> 
    <input type="text" name="email" /><br /><br /> 
    Picture:<br /> 
    <input type="file" name="img" /><br /><br /> 
    <input type="submit" name="sub" value="GO!" /> 
</form> 

PHP:

<?php 

    error_reporting(E_ALL); 

    //Get the vars 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    //--- 


    $file = $_FILES["img"]["name"]; 
    $file_remote = $_FILES["img"]["tmp_name"]; 


if ($file){ 
    if(strstr($file,".jpg")||strstr($file,".jpeg")||strstr($file,".png")){ 
     $destino = "/absolute/route/directory/".$file; 
     if(move_uploaded_file($file_remote, $destino)){ 
      echo "Moved in server"; 
     } 
     else 
      echo "Not moved"; 

    } 


    //Show up the values 
    echo('Name: ' . $name); 
    echo('Email: ' . $email); 
    //--- 
} 

你只需要把值放在你的數據庫上。

+0

謝謝!我一直這樣做,但閱讀你的答案我注意到,我忘記將「enctype」添加爲「multiform/form-data」。現在它工作正常。 –

相關問題