1

これは私のhtmlです:

  <form name = "picture" action = "upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="poza" id = "profilh" onmouseover="profilehov()" onmouseout="profileleave()" onchange="javascript:document.forms['picture'].submit();"></form>

そして、これは私のphpです:

   $profile = $_POST['poza'];
   if($profile){
   $add = $profile['poza']['name'];
   $userem = $info['email'];
   $allowedExts = array("gif", "jpeg", "jpg", "png");
   $check = explode(".",$add);
   $extension = end($check);
   if((($_FILES['poza']['type']=="image/gif")||($_FILES['poza']['type']=="image/jpeg")||($_FILES['poza']['type']=="image/jpg")||($_FILES['poza']['type']=="image/png") &&($_FILES['poza']['size']<51000))&& in_array($extension,$allowedExts)){
    if(file_exists("uploads/".ENCRYPTION($userem)."/".$add)){
        $errors+=1;
    }
   if($errors == 0){
move_uploaded_file($_FILES['poza']['tmp_name'],"uploads/".ENCRYPTION($userem)."/".$add);
$sql1 = "UPDATE **** SET ****= **** WHERE **** = ****";
$res1 = mysqli_query(****,$sql1) or die (mysqli_error(****));
}
    }
     }

私が抱えている問題は、 $add 変数が空であることです....なぜですか?

PS: 他のすべては正常に動作しているようです。

4

1 に答える 1

0
$add = $profile['poza']['name'];

間違っている。$_FILESグローバルを使用します。

$add = $_FILES['poza']['name'];

フォーム フィールド内のファイルの名前pozaが取得されます。

同じく、

$_FILES['poza']['tmp_name']

ローカルファイル名です。

于 2013-10-10T16:56:47.790 に答える