Использование $_POST и $_GET в php

$_POST и $_GET — массивы, которые содержат значения переменных, прилетевших от клиента через форму или Javascript.

Пример содержимого $_GET:

Array
 (
     [name] => vasya
     [age] => 34
 )

Пример извлечения значения нужной переменной из $_POST:

$contents = $_POST['contents'];

Пример проверки наличия нужной переменной в запросе:

if ($_GET['data_binary']){...}

 

Как загрузить файл на сервер через php

В простейшем случае для загрузки файлов на сервер через php понадобится создать 2 файла на хостинге. Первый будет содержать форму для выбора файла и может быть написан на чистом html. Второй — на php, будет принимать данные из нашей формы и сообщать о результатах.

Код файла с формой index.php:

<!doctype html><html>
<head>

</head>
<body>
<form enctype="multipart/form-data" action="/upload.php" method="POST">
    <!-- MAX_FILE_SIZE -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Имя этого input`а определит имя файла в массиве $_FILES -->
    Выбрать файл: <input name="userfile" type="file" />
    <input type="submit" value="Отправить" />
</form>
</body>
</html>

Код файла upload.php, принимающего данные:

<?php
// В версиях PHP до 4.1.0, надо использовать $HTTP_POST_FILES вместо $_FILES.

$uploaddir = '/home/user/upload/'; //Куда сохраним файлы
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Файл успешно загружен куда надо\n";
} else {
    echo "Загрузить не удалось!\n";
}

// эти две ниже можно раскоментировать:
//echo 'Информация для отладки:';
//print_r($_FILES);

print "</pre>";

?>

Сохранять файлы безопаснее в папке, не доступной через вебсервер (за пределами корневой папки самого сайта, на который выкладываем скрипты .php)

Размер загружаемых файлов может быть ограничен настройками веб-сервера или php.