fileinfo — File Upload возвращает пустую страницу

Я написал следующий код, который должен проверить изображение, загруженное пользователем. Однако, когда код выполняется, он возвращает пустую страницу. Вот мой код:

HTML (<form> Заголовок):

<form class="registerbodysections" enctype="multipart/form-data" method="post" action="php/registrationForm.php">

PHP:

<?php

$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$confirmemail = $_POST['confirmemail'];
$birthday = $_POST['birthday'];
$birthmonth = $POST['birthmonth'];
$birthyear = $_POST['birthyear'];
$location = $_POST['location'];
$picture = $_FILES['picture'];
$picturelocation = "../img/uploads/'$email'/picture/'$picture[\'type\']";

echo var_dump($picture); //for testing purposes, but does not get executed

function imageFormatCheck ($fileMime) {
$datatypes = array(
'image/jpg',
'image/gif',
'image/png',
'image/jpeg'
);

foreach($datatypes as $datatype) {
if ($fileMime !== $datatype) {
return false;
}
}
return true;
}

function checkFileType() {
if(imageFormatCheck($fileMime)) {
header('Location: http://google.com');
exit();
} else {
header('Location: http://facebook.com');
exit();
}
}

function moveFile() {
if(!move_uploaded_file($tmpName, $picturelocation)) {
header('Location: http://google.com');
exit();
} else {
header('Location: http://facebook.com');
exit();
}
}


if(count($picture)) {

$tmpName = $picture['tmp_name']; //when I var_dump $picture I receive a single array, not a double array as often seen
$fInfo = $finfo_open(FILEINFO_MIME_TYPE);
$fileMime = finfo_file($fInfo, $tmpName);
$finfo_close($fInfo);

checkFileType();
moveFile();

}

$userDataArray = array(
$firstname,
$lastname,
$birthday,
$birthmonth,
$birthyear,
$location,
$picturelocation
);

?>

Я добавил заголовки для тестирования. Однако, ни один из них никогда не будет казнен. Вместо этого, как упоминалось выше, каждый раз отображается пустая страница. HTML <form> элементы правильны, поэтому я не включил их здесь. Есть идеи, где проблема может быть? Заранее спасибо!

НОТА: каталог $picturelocation на самом деле не существует. Есть ли move_uploaded_file() возможно создать это динамически, если это не существует? Не могу найти ничего по этому поводу в документации.

0

Решение

Информация о файлах доступна в Super global $ _FILES. Таким образом, вы можете получить информацию об имени, типе, размере и файле из следующего списка.

$_FILES['userfile']['name']
$_FILES['userfile']['type']
$_FILES['userfile']['size']
$_FILES['userfile']['tmp_name']
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]