လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Image_type_to_to_tension သည်မှားယွင်းသော extension ကိုပြန်ပို့ခြင်းအတွက်အကြောင်းပြချက်နှင့်အဖြေကားအဘယ်နည်း။

Image_type_to_to_tension သည်မှားယွင်းသော extension ကိုပြန်ပို့ခြင်းအတွက်အကြောင်းပြချက်နှင့်အဖြေကားအဘယ်နည်း။

gitbox 2025-09-17

PHP တွင် Image_type_to_extension (INT $ image_type, bool $ just = string): string | frings | formpe ( ဥပမာ )
သို့သော်အစစ်အမှန်စီမံကိန်းများတွင်ကျောင်းသားများစွာသည်၎င်းသည် "မှားယွင်းသောတိုးချဲ့မှုကိုပြန်ပေး" သည်ဟုတုံ့ပြန်ကြလိမ့်မည်။ ကိစ္စရပ်အများစုတွင်လုပ်ဆောင်မှုသည်မှားယွင်းနေသည်မဟုတ်သော်လည်း ခေါ်ဆိုမှုနည်းလမ်းသို့မဟုတ်ကြိုတင်ဆုံးဖြတ်ချက်ချသည့် ပြ a နာတစ်ခုရှိသည်။

အောက်ဖော်ပြပါအချက်များသည် "Misjudgment" အရင်းအမြစ်များ,

1 ။ ဘုံအကြောင်းပြချက်များ၏ခြုံငုံသုံးသပ်ချက်

  1. $ image_type အဖြစ် "ဖိုင်အမည် / MIME string / file လမ်းကြောင်း" အမှား

    • Image_type_to_tension () ကိန်းအဆက်မပြတ် ( ပုံရိပ် / JPEG ', ' image / JPEG ' , ' xxx.jpg ' သို့မဟုတ်ဖိုင်လမ်းကြောင်းများမဟုတ်ပါ။

    • Errorgress: image_type_to_toxextension ('image / Jpeg') →→ငါ .jpg ပြန်လာရန်မျှော်လင့်ပါသည်

  2. $ image_type ၏တန်ဖိုးအရင်းအမြစ်မှာမမှန်ကန်ပါ

    • မှန်ကန်သောနည်းလမ်း - Exif_imagetype ($ file) သို့မဟုတ် gettimagesize ($ file) [2] [2] [2] ကို သုံး ပါ။

    • ချို့ယွင်းချက် - MIME string ('type'] (0 န်ဆောင်မှုခံယူသူ) သို့မဟုတ် finfo_file သို့မဟုတ် finfo_file (client) မှတိုက်ရိုက်ထုတ်လွှင့်ခြင်း။

  3. ပြန်လာ .jpeg နှင့် .jpg မျှော်လင့်ချက်များသည်ကိုက်ညီမှုမရှိပါ

    • specification အပေါ် JPEG ၏ extension ကို .jpeg သို့မဟုတ် .jpg ဖြစ်နိုင်ပါတယ် .jpeg သို့မဟုတ် .jpg ဖြစ်နိုင်ပါတယ်။ image_type_to_tension (ISESESTYPE_JPEG) သည် ပုံမှန်အားဖြင့် .jpeg ကို ပြန်ပို့သည်။

    • သင်၏စီးပွားရေးလုပ်ငန်းတွင် .jpg ကို အသုံးပြုပါကသင်သည် alias ကိုကိုယ်တိုင်ပြောင်းလဲရန်လိုအပ်သည်။

  4. ဒုတိယ parameter သည် $ includely understood ကိုနားလည်သဘောပေါက်သည်

    • ပုံမှန် စစ်မှန်တဲ့စစ်မှန်တဲ့ အစက်အပြောက်တိုးချဲ့မှုကိုပြန်ပေးလိမ့်မယ်

    • သင့်တွင်အချို့မရှိပါ။ image_type_to_extension ($ t, false)PNG

    • ဘုံအခြေအနေ - သင်သည်အစက်အပြောက်တစ်ခုသို့အစက်တစ်ခုထည့်ပြီးရလဒ်မှာ ... PNG ဖြစ်လာသည်။

  5. GD / extension support သည်မျှော်လင့်ထားသည့်ပုံစံနှင့်မကိုက်ညီပါ

    • အချို့သောအမျိုးအစားများ (ဥပမာ webp, avif) သည်သက်ဆိုင်ရာ GD / ImageM ဗားရှင်းအထောက်အပံ့များလိုအပ်သည်။ Image_type_to_texextension () သည် extension ကိုပေးနိုင်သော်လည်း နောက်ဆက်တွဲလုပ်ဆောင်ချက်များကိုသိမ်းဆည်းထား နိုင်သော်လည်း (ဥပမာ - ImageWebp ကဲ့သို့သော) လုပ်ငန်း ဆောင်တာများကိုမရရှိနိုင်ပါ။

    • imagetype_wbmp ပြန်ပို့ခြင်းကဲ့သို့သောအခြားအမျိုးအစားများ .wbmp နှင့်လူအများစုကဤအရာသည်ဖြစ်သည်ဟုမှားယွင်းစွာထင်ကြသည်

  6. အကြောင်းအရာသည်သက်တမ်းတိုးခြင်းနှင့်ကိုက်ညီမှုမရှိပါ (အရေးအသားလုပ်ငန်းစဉ်တွင်မှားယွင်းသောလုပ်ဆောင်မှုကိုအသုံးပြုသည်)

    • ၎င်းကိုသိမ်းဆည်းရန် IDEMAP ကို ​​အသုံးပြု. JPEG သို့ bitmap ကို အသုံးပြု. Bitmap ကို JPEG သို့ရေးပြီးအသုံးပြုခဲ့သည်။

    • အပြန်အလှန် - ရှာဖွေတွေ့ရှိမှုရလဒ်သည် Save function နှင့်ကိုက်ညီမှုရှိစေရန်သေချာပါစေ။

  7. Finfo_File မှတိုက်ရိုက်မြေပုံထုတ်ပုံပျက်စေရန် MIME

    • Finfo သည် ဓာတ်ပုံ / JPEG ကဲ့သို့သော Mimes များကိုပြန်လည်ရောက်ရှိစေသည်။ အကယ် . သင်သည်ကိုယ့ ကိုယ် ကို မြေပုံဆွဲထုတ် ပါ က, ၎င်းသည်မှားယွင်းသောပုံရသည်, သို့သော်၎င်းသည်အမှန်တကယ်ကိုက်ညီမှုမရှိသောမြေပုံရေးဆွဲခြင်းဖြစ်သည်။

2 ။ $ image_type ကို မှန်ကန်စွာရနိုင်ပုံ

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/uploaded/file'</span></span><span>;

</span><span><span class="hljs-comment">// နည်းလမ်း A:ပိုပြီးတည်ငြိမ်သော</span></span><span>
</span><span><span class="hljs-variable">$type</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">exif_imagetype</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>); </span><span><span class="hljs-comment">// ပြန်လာ IMAGETYPE_* ကိန်းသို့မဟုတ် false</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$type</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">RuntimeException</span></span><span>(</span><span><span class="hljs-string">'ပုံအမျိုးအစားကိုအသိအမှတ်မပြုနိုင်ခြင်း'</span></span><span>);
}

</span><span><span class="hljs-comment">// နည်းလမ်း B:getimagesize</span></span><span>
</span><span><span class="hljs-variable">$info</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">getimagesize</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$info</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">RuntimeException</span></span><span>(</span><span><span class="hljs-string">'တရားဝင်ရုပ်ပုံမဟုတ်ပါ'</span></span><span>);
}
</span><span><span class="hljs-variable">$type</span></span><span> = </span><span><span class="hljs-variable">$info</span></span><span>[</span><span><span class="hljs-number">2</span></span><span>]; </span><span><span class="hljs-comment">// အတူတူဖြစ်သော IMAGETYPE_* ကိန်း</span></span><span>
</span></span>

အောက်ပါကို image_type_to_extension () သို့တိုက်ရိုက် ကူးပါနှင့်:

  • 'Image / PNG' (MIME string)

  • 'xxx.jpg' (ဖိုင်အမည်)

  • '/ လမ်းကြောင်း / / file' (လမ်းကြောင်း)

3 ။ စည်းလုံးညီညွတ်သောတိုးချဲ့ခြင်း - alias နှင့် stylization

အသင်းအတော်များများမျှော်လင့်ချက်:

  • JPEG သည်အမြဲဖြစ်သည် .jpg (မဟုတ်ပါ .jpeg )

  • နေရာများကိုဖယ်ရှားပါ (splicing အတွက်)

  • ရှားပါးသောအမျိုးအစားများအတွက် alias ကိုထည့်ပါ

သေးငယ်တဲ့ function ကို encapsulated နိုင်ပါတယ်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">preferred_extension_from_file</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$includeDot</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>): </span><span><span class="hljs-title">string</span></span><span> {
    </span><span><span class="hljs-variable">$type</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">exif_imagetype</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$type</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">InvalidArgumentException</span></span><span>(</span><span><span class="hljs-string">'ပုံအမျိုးအစားကိုအသိအမှတ်မပြုနိုင်ခြင်း:'</span></span><span> . </span><span><span class="hljs-variable">$file</span></span><span>);
    }

    </span><span><span class="hljs-variable">$ext</span></span><span> = </span><span><span class="hljs-title function_ invoke__">image_type_to_extension</span></span><span>(</span><span><span class="hljs-variable">$type</span></span><span>, </span><span><span class="hljs-variable">$includeDot</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$ext</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">RuntimeException</span></span><span>(</span><span><span class="hljs-string">'အမျိုးအစားများမှ extensions များကိုမြေပုံဆွဲ။ မရပါ'</span></span><span>);
    }

    </span><span><span class="hljs-comment">// စည်းလုံးမှုအမှု</span></span><span>
    </span><span><span class="hljs-variable">$ext</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$ext</span></span><span>);

    </span><span><span class="hljs-comment">// စီးပွားရေး preference ကို alias ကို</span></span><span>
    </span><span><span class="hljs-variable">$map</span></span><span> = [
        </span><span><span class="hljs-comment">// သင်ဂရုစိုက်သောအရာကိုသာကိုင်တွယ်ပါ“ပုံစံ”ကဲှပြားချက်</span></span><span>
        </span><span><span class="hljs-variable">$includeDot</span></span><span> ? </span><span><span class="hljs-string">'.jpeg'</span></span><span> : </span><span><span class="hljs-string">'jpeg'</span></span><span> =&gt; </span><span><span class="hljs-variable">$includeDot</span></span><span> ? </span><span><span class="hljs-string">'.jpg'</span></span><span> : </span><span><span class="hljs-string">'jpg'</span></span><span>,
        </span><span><span class="hljs-variable">$includeDot</span></span><span> ? </span><span><span class="hljs-string">'.tiff'</span></span><span> : </span><span><span class="hljs-string">'tiff'</span></span><span> =&gt; </span><span><span class="hljs-variable">$includeDot</span></span><span> ? </span><span><span class="hljs-string">'.tif'</span></span><span> : </span><span><span class="hljs-string">'tif'</span></span><span>,
    ];

    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$map</span></span><span>[</span><span><span class="hljs-variable">$ext</span></span><span>] ?? </span><span><span class="hljs-variable">$ext</span></span><span>;
}
</span></span>

အသုံးပြုမှု:

 <span><span><span class="hljs-variable">$ext</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preferred_extension_from_file</span></span><span>(</span><span><span class="hljs-string">'/uploads/a.tmp'</span></span><span>);           </span><span><span class="hljs-comment">// 可能ပြန်လာ .jpg</span></span><span>
</span><span><span class="hljs-variable">$extNoDot</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preferred_extension_from_file</span></span><span>(</span><span><span class="hljs-string">'/uploads/a.tmp'</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>); </span><span><span class="hljs-comment">// 可能ပြန်လာ jpg</span></span><span>
</span></span>

4 ။ နာမည်နှင့်အဖြစ်မှန်ဖိုင်နှင့်ကိုက်ညီကြောင်းသေချာပါစေ

အမျိုးအစားများကိုရှာဖွေတွေ့ရှိခြင်းသည်ပထမခြေလှမ်းသာဖြစ်ပြီးအရေးကြီးသည်မှာ မှန်ကန်သောအရေးအသားလုပ်ဆောင်မှုကိုအသုံးပြုရန် အရေးကြီးသည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">save_image_as_detected</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$srcPath</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$destDir</span></span><span>): </span><span><span class="hljs-title">string</span></span><span> {
    </span><span><span class="hljs-variable">$type</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">exif_imagetype</span></span><span>(</span><span><span class="hljs-variable">$srcPath</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$type</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">InvalidArgumentException</span></span><span>(</span><span><span class="hljs-string">'တရားဝင်ရုပ်ပုံမဟုတ်ပါ:'</span></span><span> . </span><span><span class="hljs-variable">$srcPath</span></span><span>);
    }

    </span><span><span class="hljs-variable">$ext</span></span><span> = </span><span><span class="hljs-title function_ invoke__">image_type_to_extension</span></span><span>(</span><span><span class="hljs-variable">$type</span></span><span>); </span><span><span class="hljs-comment">// ကဲ့သို့ .png / .jpeg / .webp</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$ext</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">RuntimeException</span></span><span>(</span><span><span class="hljs-string">'extension ကိုမြေပုံဆွဲ။ မရပါ'</span></span><span>);
    }

    </span><span><span class="hljs-comment">// အမျိုးအစားအလိုက်သက်ဆိုင်ရာသိမ်းဆည်းခြင်း function ကိုရွေးချယ်ပါ</span></span><span>
    </span><span><span class="hljs-keyword">switch</span></span><span> (</span><span><span class="hljs-variable">$type</span></span><span>) {
        </span><span><span class="hljs-keyword">case</span></span><span> IMAGETYPE_JPEG:
            </span><span><span class="hljs-variable">$im</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-variable">$srcPath</span></span><span>);
            </span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-title function_ invoke__">uniqid</span></span><span>(</span><span><span class="hljs-string">'img_'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>) . </span><span><span class="hljs-string">'.jpg'</span></span><span>; </span><span><span class="hljs-comment">// စီးပွားရေး ဦး စားပေး:အသုံးပြု .jpg</span></span><span>
            </span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$im</span></span><span>, </span><span><span class="hljs-variable">$destDir</span></span><span> . </span><span><span class="hljs-string">'/'</span></span><span> . </span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>);
            </span><span><span class="hljs-keyword">break</span></span><span>;

        </span><span><span class="hljs-keyword">case</span></span><span> IMAGETYPE_PNG:
            </span><span><span class="hljs-variable">$im</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-variable">$srcPath</span></span><span>);
            </span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-title function_ invoke__">uniqid</span></span><span>(</span><span><span class="hljs-string">'img_'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>) . </span><span><span class="hljs-string">'.png'</span></span><span>;
            </span><span><span class="hljs-comment">// သေးငယ်တဲ့ volume သည်:ဖွင့်လှစ် Alpha,ချုံ့</span></span><span>
            </span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$im</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
            </span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$im</span></span><span>, </span><span><span class="hljs-variable">$destDir</span></span><span> . </span><span><span class="hljs-string">'/'</span></span><span> . </span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>);
            </span><span><span class="hljs-keyword">break</span></span><span>;

        </span><span><span class="hljs-keyword">case</span></span><span> IMAGETYPE_GIF:
            </span><span><span class="hljs-variable">$im</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromgif</span></span><span>(</span><span><span class="hljs-variable">$srcPath</span></span><span>);
            </span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-title function_ invoke__">uniqid</span></span><span>(</span><span><span class="hljs-string">'img_'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>) . </span><span><span class="hljs-string">'.gif'</span></span><span>;
            </span><span><span class="hljs-title function_ invoke__">imagegif</span></span><span>(</span><span><span class="hljs-variable">$im</span></span><span>, </span><span><span class="hljs-variable">$destDir</span></span><span> . </span><span><span class="hljs-string">'/'</span></span><span> . </span><span><span class="hljs-variable">$filename</span></span><span>);
            </span><span><span class="hljs-keyword">break</span></span><span>;

        </span><span><span class="hljs-keyword">case</span></span><span> IMAGETYPE_WEBP:
            </span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'imagecreatefromwebp'</span></span><span>) || !</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'imagewebp'</span></span><span>)) {
                </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">RuntimeException</span></span><span>(</span><span><span class="hljs-string">'ယခု GD မပံ့ပိုးပါ WebP'</span></span><span>);
            }
            </span><span><span class="hljs-variable">$im</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromwebp</span></span><span>(</span><span><span class="hljs-variable">$srcPath</span></span><span>);
            </span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-title function_ invoke__">uniqid</span></span><span>(</span><span><span class="hljs-string">'img_'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>) . </span><span><span class="hljs-string">'.webp'</span></span><span>;
            </span><span><span class="hljs-title function_ invoke__">imagewebp</span></span><span>(</span><span><span class="hljs-variable">$im</span></span><span>, </span><span><span class="hljs-variable">$destDir</span></span><span> . </span><span><span class="hljs-string">'/'</span></span><span> . </span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-number">85</span></span><span>);
            </span><span><span class="hljs-keyword">break</span></span><span>;

        </span><span><span class="hljs-keyword">default</span></span><span>:
            </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">RuntimeException</span></span><span>(</span><span><span class="hljs-string">'暂မပံ့ပိုးပါ的图片类型:'</span></span><span> . </span><span><span class="hljs-variable">$type</span></span><span>);
    }

    </span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$im</span></span><span>);
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>;
}
</span></span>

အဓိကအချက်များ

  • ရှာဖွေတွေ့ရှိမှုရလဒ်သည် Save function (PNG → ImagePng , JPEG → jpeg → jpeg → jpeg → jpeg → imagejpeg ... ) ။

  • အကယ်. အသင်းသည် unified.jpg သည် unified.jpg ဖြစ်ပါက image_type_to_toextension () နှင့်မဆန့်ကျင်သော ဖိုင်အမည်များကိုထုတ်လုပ်သည့် အခါ alias ကိုပြောင်းနိုင်သည်။

5 ။ finfo နှင့်ပူးပေါင်းရန်မှန်ကန်သောကိုယ်ဟန်အနေအထား

အကယ် . သင်သည် MIME ကို ဦး စွာယူပြီးတိုးချဲ့ရန်ပိုမိုလေ့ရှိပြီး Extending ကို ထပ်မံတိုးချဲ့ ပါက,

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">ext_from_mime</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$mime</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$includeDot</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>): ?</span><span><span class="hljs-title">string</span></span><span> {
    </span><span><span class="hljs-built_in">static</span></span><span> </span><span><span class="hljs-variable">$map</span></span><span> = [
        </span><span><span class="hljs-string">'image/jpeg'</span></span><span> =&gt; </span><span><span class="hljs-string">'jpg'</span></span><span>,   </span><span><span class="hljs-comment">// စီးပွားရေး ဦး စားပေး</span></span><span>
        </span><span><span class="hljs-string">'image/png'</span></span><span>  =&gt; </span><span><span class="hljs-string">'png'</span></span><span>,
        </span><span><span class="hljs-string">'image/gif'</span></span><span>  =&gt; </span><span><span class="hljs-string">'gif'</span></span><span>,
        </span><span><span class="hljs-string">'image/webp'</span></span><span> =&gt; </span><span><span class="hljs-string">'webp'</span></span><span>,
        </span><span><span class="hljs-string">'image/bmp'</span></span><span>  =&gt; </span><span><span class="hljs-string">'bmp'</span></span><span>,
        </span><span><span class="hljs-string">'image/x-ms-bmp'</span></span><span> =&gt; </span><span><span class="hljs-string">'bmp'</span></span><span>,
        </span><span><span class="hljs-string">'image/tiff'</span></span><span> =&gt; </span><span><span class="hljs-string">'tif'</span></span><span>,
        </span><span><span class="hljs-string">'image/svg+xml'</span></span><span> =&gt; </span><span><span class="hljs-string">'svg'</span></span><span>,
        </span><span><span class="hljs-string">'image/vnd.microsoft.icon'</span></span><span> =&gt; </span><span><span class="hljs-string">'ico'</span></span><span>,
    ];
    </span><span><span class="hljs-variable">$ext</span></span><span> = </span><span><span class="hljs-variable">$map</span></span><span>[</span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$mime</span></span><span>)] ?? </span><span><span class="hljs-literal">null</span></span><span>;
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$ext</span></span><span> === </span><span><span class="hljs-literal">null</span></span><span>) </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">null</span></span><span>;
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$includeDot</span></span><span> ? (</span><span><span class="hljs-string">'.'</span></span><span> . </span><span><span class="hljs-variable">$ext</span></span><span>) : </span><span><span class="hljs-variable">$ext</span></span><span>;
}
</span></span>

အကြံပြုသည့်နည်းဗျူဟာများ

  • Exif_imagetype () သို့မဟုတ် getinegeize ()image_type_to_toxexense () ကို ရယူပါ။

  • သင်စည်းလုံးညီညွတ်သောစတိုင်လ် ( .jpg စသည်) လိုအပ်ပါက alias မြေပုံကို အလွှာတစ်ခုပြုလုပ်ပါ။

  • လိုအပ်မှသာ finfo ကို သုံးပါ

6 ။ စစ်ဆေးရမည့်စာရင်း

  • $ Image_type သည် Exif_imagetype () / Getimensize () [2] မှလာသည်။

  • Image_type_to_extension () သို့မှားယွင်းသော MIME / File လမ်းကြောင်းသည်?

  • $ into_Dot (အစက်နှင့်အတူရှိရန်လိုအပ်သည်) ၏အဓိပ္ပာယ်ကိုသင်နားလည်ပါသလား။

  • အဆိုပါအဖွဲ့သည် .jpg / .jpeg ၏စတိုင်ကိုပေါင်းစည်းထားပါသလား။ အဆိုပါမြေပုံထိရောက်သောဖြစ်ပါတယ်?

  • ရေးသားခြင်း function ကိုရှာဖွေခြင်းအမျိုးအစား ( ImageJpg vs isionpng vs စသည်တို့) နှင့်ကိုက်ညီပါသလား။

  • ပတ် 0 န်းကျင်ဆိုင်ရာအထောက်အကူပြုချက်ပုံစံများကိုပံ့ပိုးပေးပါသလား။

  • .bmp အတွက် .WBMP ကို သင်မှားသလား။

  • $ _files ['type'] ('type']) ကိုမယုံကြည်ပါနှင့်။

7 ။ နိဂုံးချုပ်

image_type_to_tension () သူ့ဟာသူသည်အလွန်ရိုးသားသည်။ "Rejecting error extension extension" ဟုခေါ်သောအရာမှာအများအားဖြင့် inputype_ * * * အသင်း၏ မျှော်လင့်ချက်များသည်သတ်မှတ်ချက်များ နှင့် ကိုက်ညီမှုမရှိပါ။
Pathing လမ်းကြောင်းကိုခွဲထုတ်ခြင်းအားဖြင့် " အမျိုးအစားမှန်ကန်စွာ→ aliases ကိုကျိုးကြောင်းဆီလျော်စွာလုပ်ပါ