В настоящее время у меня есть форма отправки запроса, которую могут заполнять только зарегистрированные пользователи.
Часть формы позволяет пользователю загрузить файл, который будет прикреплен к запросу.
ЧтоЯ пытаюсь сделать, это передать переменную $_FILES
в файл класса для обработки (используя class.upload.php ), так как я хочу, чтобы имя файла было в следующем формате:
enquiryID_userID_fileName.ext
Можно ли передать данные формы $_POST
в класс вместе с данными $_FILES
?
Примером того, чего я пытаюсь достичь, является следующий:
if (isset($_POST['submit_enquiry'])) {
$enquiry = new Enquiry();
$enquiry->newEnquiry($_POST, $_FILES);
}
Затем в классе запросов:
class Enquiry {
private function _processFiles($_FILES, $caseID) {
...
}
private function _processForm($_POST) {
...
}
public function newEnquiry($_POST, $_FILES) {
$caseID = $this->_processForm($_POST); // returns caseID
$this->_processFiles($_FILES, $caseID);
}
}
Печать $_FILES
дает мне следующее:
Array
(
[file] => Array
(
[name] => Array
(
[0] => Blue hills.jpg
[1] => Sunset.jpg
[2] =>
)
[type] => Array
(
[0] => image/jpeg
[1] => image/jpeg
[2] =>
)
[tmp_name] => Array
(
[0] => /tmp/phpwyLp86
[1] => /tmp/phpKJa4iw
[2] =>
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 4
)
[size] => Array
(
[0] => 28521
[1] => 71189
[2] => 0
)
)
)
При попытке обработатьфайл почти так же, как если бы файл tmp был потерян, так как он не может обработать файл для загрузки.Есть какие-то очевидные проблемы, которые я пропустил, пытаясь реализовать это решение?