Загрузка файла изображения не работает должным образом [дубликат]

Вот еще одна интерпретация вашего вопроса (намек: он неопределенный). Возможно, вы ищете что-то вроде этого:

def parseIntOrFloat( aString ):
    return eval( aString )

Он работает следующим образом ...

>>> parseIntOrFloat("545.2222")
545.22220000000004
>>> parseIntOrFloat("545")
545

Теоретически существует уязвимость в отношении инъекций. Строка может быть, например, "import os; os.abort()". Однако, без какой-либо информации о том, откуда взялась эта строка, существует теоретическая спекуляция. Поскольку вопрос неопределен, совершенно неясно, существует ли эта уязвимость или нет.

-3
задан Rahil Wazir 1 June 2014 в 17:30
поделиться

3 ответа

$ _ FILES является суперглобальным, как $ _GET или $ _POST, который хранит информацию о загруженном файле.

Если имя вашего элемента формы ввода для загрузки является «myfile», тогда после загрузки у вас будет Assiciative array $ _FILES ['myfile'], сохраняющий все данные о загруженном файле. Чтобы узнать об этом, просто var_dump () it:

var_dump($_FILES['myfile']);

Все загруженные файлы, как правило, сначала загружаются в каталог / tmp (или любой другой каталог установлен для этой цели в файле php.ini) , После выполнения некоторых проверок проверки файла (например, тестирования для правильного типа mime), вы захотите перенести файл в конечный пункт назначения. Это то, для чего предназначена функция move_uploaded_file ().

В этом случае $ _FILES ['userfile'] ['tmp_name'] - это временный путь к файлу загруженного файла, а $ uploadfile должен хранить конечный путь файла.

0
ответ дан Gregor 27 August 2018 в 05:35
поделиться

move_uploaded_file - перемещает загруженный файл в новое место

Эта функция проверяет, является ли файл, обозначенный именем файла, допустимым файлом загрузки (это означает, что он был загружен через HTTP-загрузку HTTP через HTTP механизм). Если файл действителен, он будет перенесен в имя файла, заданное адресатом.

Этот вид проверки особенно важен, если есть вероятность, что что-либо сделанное с загруженными файлами может показать их содержимое пользователю или даже другим пользователям в той же системе.

Какую часть этого Manual вам нужна помощь?

2
ответ дан Hanky Panky 27 August 2018 в 05:35
поделиться

$_FILES из руководства PHP:

Ассоциативный массив элементов, загруженных в текущий скрипт с помощью метода HTTP POST.

move_uploaded_file() из руководства PHP:

bool move_uploaded_file ( string $filename , string $destination )

Эта функция проверяет, является ли файл, указанный по имени файла, действительным файлом загрузки ( это означает, что он был загружен через PHP HTTP POST загрузки механизма). Если файл действителен, он будет перемещен в имя файла, заданное адресатом.


Вы можете использовать его следующим образом:

if(move_uploaded_file($_FILES['picture']['tmp_name'], './uploads/'.$_FILES['picture']['name']))
    echo 'File successfully uploaded';
else
    echo 'File could not be uploaded';

$_FILES['picture']['tmp_name']:

Временное имя файла, в котором загруженный файл был сохранен на сервере.

$_FILES['picture']['name']:

Исходное имя файла на клиентской машине.

Для получения дополнительной информации см. POST Method Uploads

0
ответ дан vimist 27 August 2018 в 05:35
поделиться