【问题标题】:PHP mime_content_type not returning anythingPHP mime_content_type 不返回任何内容
【发布时间】:2017-06-26 20:28:25
【问题描述】:

我已经尝试了几次,这是我认为最接近让它正常工作的方法。我在其他地方有类似的代码,它工作正常,但是当我执行这个时, mime_content_type 不返回任何内容。我尝试了很多不同的方式让它工作,如果你看到我忽略的东西,请告诉我。

for($i = 0; $i < 5; ++ $i) {

                $mime = false;

                if (preg_match ( '/(jpeg|png|gif|jpg|jpe)/i', $_FILES ['listing'] ['type'] ['images'] [$i] )) {

                    $new_image = new image_handler ( $_FILES ['listing'] ['tmp_name'] ['images'] [$i] );

                    $m = mime_content_type ( $new_image );

                    if ($m == 'image/png' || $m == 'image/jpeg' || $m == 'image/gif') {
                        $mime = true;
                    }

                    if ($mime) {
                        $new_images [$i] ['name'] = date ( 'ymdgis' ) . $_FILES ['listing'] ['name'] ['images'] [$i];
                        $new_images [$i] ['default'] = ($_POST ['listing'] ['default_image'] == $i) ? true : false;

                        $new_image->save ( IMAGE_SIZE, IMAGE_SIZE, REAL_PATH . 'uploads/listings/' . $new_images [$i] ['name'] );
                        $new_image->save ( THUMB_SIZE, THUMB_SIZE, REAL_PATH . 'uploads/listings/thumbnails/' . $new_images [$i] ['name'] );
                    }
                } elseif ((! preg_match ( '/(jpeg|png|gif|jpg|jpe)/i', $_FILES ['listing'] ['type'] ['images'] [$i] )) && ($_FILES ['listing'] ['name'] ['images'] [$i] != '')) {
                    $pass_message .= '<p>The File ' . $_FILES ['listing'] ['name'] ['images'] [$i] . ' was not uploaded due to its filetype.</p>';
                }
                if (! $mime && ($_FILES ['listing'] ['name'] ['images'] [$i] != '')) {
                    $pass_message .= '<p>The File ' . /*$_FILES ['uploads'] ['name'] ['image']*/ $m . ' was not uploaded due to its mime type.</p>';
                }
            }

【问题讨论】:

    标签: php image-uploading mime-types


    【解决方案1】:

    根据文档,mime_content_type 将文件名作为输入参数。

    在您的示例中,您正在实例化一个新的 image_handler() 对象,并将其传递给 mime_content_type() 函数。

    我相信你的类中应该有一个方法来获取文件路径。

    类似这样的:

    $new_image = new image_handler ( $_FILES ['listing'] ['tmp_name'] ['images'] [$i] );
    $filename = $new_image->get_filename_method();
    
    $m = mime_content_type ( $filename );
    

    【讨论】:

      猜你喜欢
      • 2020-02-22
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      • 2021-07-07
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多