2013-03-24 63 views
0

我創建了一個頭像上傳,並通過JQuery傳遞文件名,然後我想在外部php文件中處理並調整其大小,並將路徑發送到數據庫。我創建了表單,當我發送它時,將數據庫的路徑添加到數據庫中,但無法識別文件是否已在最初的php中上傳。這是我得到該文件名,並通過PHP運行它代碼:通過JQuery和PHP中的處理髮送上傳的文件

的個人資料頁上的代碼:

var avatar=$("#avatar").val(); 
         var name=$("#name").val(); 
         var location=$("#location").val(); 
         var about=$("#about").val(); 
         var visible = ($("#visible").is(":checked")) ? "checked" : "not checked"; 

         if(nameok == true || name.value > 2) 
         {   
          $('.userValidation').html("Processing").removeClass("error").addClass("success"); 
          jQuery.post("php/update-user-profile.php", { 
          avatar:avatar, 
          name:name, 
          location:location, 
          about:about, 
          checked:visible 
          }, function(data, textStatus){ 
          if(data == 1){ 
           $('.userValidation').html("Updated Successfully").removeClass("error").addClass("success"); 
           window.location = 'home.php'; 
          } 
          else{ 
           $('.userValidation').html("Something's Wrong, Please Try Again").removeClass("success").addClass("error"); 
          } 
          }); 
         } 

的「PHP /更新用戶profile.php」的代碼:

//Avatar Preferences 
$avatar = mysqli_real_escape_string($con, $_REQUEST["avatar"]); 

$fileName = $_FILES["$avatar"]["name"]; // The file name 

我如何才能將它識別爲合法文件的$ avatar?

回答

0

敵人例如:

Array 
(
    [file] => Array 
     (
      [name] => file.ext 
      [type] => text/html 
      [tmp_name] => /temp/ng736x.tmp 
      [error] => 0 
      [size] => 644563 
     ) 
) 

如果$avatar變量是在表格字段的名稱,該文件在$_FILES名稱是$fileName = $_FILES[$avatar]["name"],但在表格file輸入的名稱是avatar$_FILES陣列的結構該文件的名稱是$fileName = $_FILES['avatar']["name"]

+0

文件名已經通過並顯示爲$ avatar,但它仍然不能識別它沒有引號 – user2200771 2013-03-24 10:05:48

+0

作用方法是'POST'? 'var_dump($ _ FILES,$ _POST ['avatar']);'請。 – mkjasinski 2013-03-24 10:11:17

+0

我編輯了我原來的文章 – user2200771 2013-03-24 10:12:34