2017-12-20 17 views
1

自動的に画像の種類JPGはどのようにどのように防ぐために、JPEG

JPEGにアップロードされた変更するには、このスクリプトに変更アップロードされた画像タイプのJPGを防ぐには?私はイメージタイプを変更したくありません。あなたがしなければならないJPG伸長を可能にする:この

$ext = "." . strtolower(pathinfo($_FILES['myfile']["name"],PATHINFO_EXTENSION)); 

EDITと

if (is_uploaded_file($_FILES['myfile']['tmp_name']) && ($_FILES["myfile"]["size"] <= 8192 * 1 * 8192)) { 
    $enabled = array(
     IMAGETYPE_PNG, 
     IMAGETYPE_JPEG 
    ); 
    list($width, $height, $extension) = getimagesize($_FILES['myfile']['tmp_name']); 
    if (in_array($extension, $enabled)) { 
     $ext  = image_type_to_extension($extension, true); 
     $newname = $username . $id . '-' . time() . $ext; 
     $imglink = $upload_folder . '/' . $newname; 
     if (@move_uploaded_file($_FILES['myfile']['tmp_name'], "$upload_folder/" . $newname)) 

     $result  = 1; 
+0

画像の種類がどのように変更されていると思いますか? –

+0

$ extをエコーするとどうなりますか?エコー$拡張子も。 – Andreas

+0

画像をJPG形式でアップロードすると、JPEG:$ usernameという形式で受信します。 $ id。 ' - '時間()。 JPEG –

答えて

1

ファイルデータから、元の拡張子を抽出していないimage_type_to_extension

この行を置き換える

$ext  = image_type_to_extension($extension, true); 

あなたがイメージを確認した後、あなた自身の小切手は実画像ファイルはgetimagesize()です。

$allowedExtensions = ['jpg','png','jpeg']; 
if(in_array($ext, $allowedExtensions)){ 
    //it's an allowed extension 
} 
+0

私の問題は解決しました。ありがとうございました。 JPG形式の画像を受け取る方法 –

+0

'$ enabled'配列に許可したい拡張子を追加します。 –

+0

編集を確認してください –

関連する問題