Файл должен быть сохранен во временный файл на сервере, и вы можете узнать информацию о нем, используя $_FILES
superglobal.Вы можете начать с изменения своего скрипта, чтобы выгрузить суперглобальный элемент, чтобы увидеть, что находится внутри:
<?php
print_r($_FILES);
?>
PHP предоставляет набор полезных функций для загрузки файлов, и вы должны использовать их, а не просто добираться дофайловая система - помните, что любая загрузка файла считается пользовательским вводом и, следовательно, становится угрозой безопасности!Вы должны начать с проверки, является ли файл тем, который вы ищете:
$filename = $_FILES['attachment']['tmp_name'];
if (!is_uploaded_file($filename)) {
// error
}
И вы можете использовать функцию move_uploaded_file()
, чтобы прикрепить файл куда-нибудь удобнее:
if (move_uploaded_file($_FILES['attachment']['tmp_name'], '/more/useful/path') {
// all good
}
Наконец, вы должны помнить, что не только сам файл, но и имя файла и размер файла, о котором сообщается, представляют собой данные, предоставленные пользователем, и убедитесь, что их правильно обработали перед использованием.
Здесь есть тонна полезных вещей: http://uk.php.net/manual/en/features.file-upload.php