PHP アップロードの問題
IE でケース「application/octet-stream」を追加しないと、この文は .zip ファイルを正常にアップロードできますが、Google Chrome ではアップロードできません。この文を追加すると、IE は他の種類のファイルをアップロードします。 .zip に変換されましたが、Google ではエラーは報告されませんでした。何が問題なのでしょうか? ?
コードは次のとおりです:
if(!empty($_POST['sub'])){
$ym=$_FILES['up']['name' ] ;
$size=$_FILES['up']['size'];
$tmpname=$_FILES['up']['tmp_name'];
$error=$_FILES[' up ']['error'];
echo $lx=$_FILES['up']['type'];
if($size<=2000000){
switch ($lx){
case "image/jpg":
case "image/pjpeg":
case "image/jpeg":
$lujing=".jpg";
Break;
case " image/gif":
$lujing=".gif";
ブレーク;
case "image/x-png":
case "image/png":
$lujing= " .png";
ブレーク;
case "application/x-zip-compressed":
case "application/octet-stream":
$lujing=".zip";
ブレーク ;
case "アプリケーション/pdf":
$lujing=".pdf";
ブレーク;
デフォルト:$lujing=false;
}
if($lujing= = ".jpg" || $lujing==".gif" || $lujing==".png"){
if(!file_exists('img')){
mkdir("img") ;
}
move_uploaded_file($tmpname, "img/".time().$lujing);
switch($error){
case 0:
Echo "アップロード成功しました "; Break;
}
}elseif($lujing==".zip"){
if(!file_exists('zip')){
mkdir("zip");
}
move_uploaded_file($tmpname, "zip/".time().$lujing);
switch($error){
case 0:
Echo "アップロード成功";
}
}elseif($lujing==".pdf"){
if(!file_exists('pdf')){
mkdir("pdf");
}
move_uploaded_file($tmpname, "pdf/".time().$lujing);
switch($error){
case 0:
Echo "アップロード成功";
}
}
else{
echo "ファイルの種類がありません! ";
}
}else{
echo "アップロードしたファイルが大きすぎます。 ";
}
}
?>