<?
echo filesize($_POST['image_load']);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TEST</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="buy_pixels">
<input type="file" name="image_load" id="image_load" value="" accept="image/*" required>
<input class="buy_button" type="submit" value="Buy" name="submit">
</form>
</body>
</html>
Какова причина ошибки?
Во-первых вы забыли атрибут у формы enctype="multipart/form-data"
. Это позволит дать понять, что отправляете еще и файлы.
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="buy_pixels" enctype="multipart/form-data">
^-------
Во-вторых попробуйте:
echo filesize($_FILES['image_load']['tmp_name']);
// а можно вот так:
// echo $_FILES['image_load']['size'];
Т.к. файлы попадают в глобальный массив $_FILES
, то с ним и надо работать
Первое - это файлы передаются через $_FILES. Поэтому вместо этого кода:
<?
echo filesize($_POST['image_load']);
?>
Ставим этот:
<?
if ($_FILES){
print "<pre>";
print_r($_FILES);
exit;
}
?>
В этом массиве есть размер изображения. Но даже с этим кодом вы не получите результат, т.к. у form не установлен атрибут enctype, необходимый для отправки файлов. Нужно так:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="buy_pixels" enctype="multipart/form-data">
Так Вы получите массив, с которым можно работать дальше.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход