PHP mime_content_type 没有返回任何东西
PHP mime_content_type not returning anything
我已经试过几次了,这是我认为最接近正常工作的一次。我在其他地方有类似的代码并且它工作正常但是当我执行这个代码时 mime_content_type 没有 return 任何东西。我已经尝试以多种不同的方式让它发挥作用,如果您看到我忽略的内容,请告诉我。
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>';
}
}
根据文档,mime_content_type将文件名作为输入参数。
在您的示例中,您正在实例化一个传递给 mime_content_type() 函数的新 image_handler() 对象。
我相信你的 class 中应该有一个方法来获取文件路径。
像这样:
$new_image = new image_handler ( $_FILES ['listing'] ['tmp_name'] ['images'] [$i] );
$filename = $new_image->get_filename_method();
$m = mime_content_type ( $filename );
我已经试过几次了,这是我认为最接近正常工作的一次。我在其他地方有类似的代码并且它工作正常但是当我执行这个代码时 mime_content_type 没有 return 任何东西。我已经尝试以多种不同的方式让它发挥作用,如果您看到我忽略的内容,请告诉我。
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>';
}
}
根据文档,mime_content_type将文件名作为输入参数。
在您的示例中,您正在实例化一个传递给 mime_content_type() 函数的新 image_handler() 对象。
我相信你的 class 中应该有一个方法来获取文件路径。
像这样:
$new_image = new image_handler ( $_FILES ['listing'] ['tmp_name'] ['images'] [$i] );
$filename = $new_image->get_filename_method();
$m = mime_content_type ( $filename );