проверка изображения php с проверкой почтового индекса - PullRequest
0 голосов
/ 30 января 2019

Я создаю сценарии проверки изображений PHP и проверки zip-файлов. Мой сценарий проверки zip-файлов работает, но я добавил проверку изображений, но она не работает. Я хочу добавить тип файла изображения jpeg, png.работает

Вот мой код

if($_FILES['fileImage']['tmp_name'][0] != "fileImage/jpg") {
die($_FILES['fileImage']['name'][0] . " is not a valid image file.");
exit;
}

$z = zip_open($_FILES['fileImage']['tmp_name'][4]);
if (!is_resource($z)) {
    die($_FILES['fileImage']['name'][4] . " is not a valid ZIP file.");
}
zip_close($z);

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Попробуйте следующий код.

$tempFile = $_FILES['file']['name'];

// Get the file extension
$fileExt = pathinfo($tempFile, PATHINFO_EXTENSION);

// Allowed extensions
$imageExt = ['jpg', 'png', 'gif'];
$compressExt = ['rar', 'zip'];

// Validation
if ( !in_array($fileExt, $imageExt) ) {
  die('Not image format');
} elseif ( !in_array($fileExt, $compressExt) ) {
  die('No compression format');
} else {
  // proceed
}
0 голосов
/ 30 января 2019

Я бы сначала проверил временный файл с mime_content_type.Результат не зависит от расширения файла, которым было бы легко манипулировать.Дальнейшая обработка может затем завершить проверку.

$tmpFile = $_FILES['fileImage']['tmp_name'];
switch ($mimeType = mime_content_type($tmpFile)) {
  case 'application/zip':
    //... process zip ... zip_open, etc
    break;
  case 'image/jpeg':
    //... process image ... getimagesize etc.
    break;
  default:
    die('Unknown filetype "' . $mimeType . '".');
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...