PHP POST (я видел все проблемы с почтой на сайте, но они не помогли)

Привет, ребята, у меня есть проблемы с POST в PHP, как вы знаете, так что, да, мац код

<form action="index.php?upload=true" method="post">
<input type="file" name="photo" id="photo" value="upload image">
<input type="submit" name="upload" value="DO IT"/>
</form>
<?php
if (isset($_GET['upload'])) {
runMyFunction();
}
function runMyFunction(){
$uploaded=$_POST['photo'];
list($width, $height) = getimagesize($uploaded);
echo "width: " . $width . "<br />";
echo "height: " .  $height;
}
?>

так что моя проблема: когда я нажимаю кнопку загрузки, я получаю ошибки:
http://postimg.org/image/h39bvyt8j/ (Я не могу загрузить изображения, у меня нет репутации)
и да, все, что мне нужно, это: когда я нажимаю кнопку загрузки, масштаб изображения должен быть записан, как вы видите в нижней части изображения, например: я загрузил изображение, нажал uplaod, и он написал: Ширина: 100px высота: 150px
спасибо за любую помощь! (я думаю, что есть что-то с методом Post)

0

Решение

Вы должны добавить

  enctype="multipart/form-data"

в форме и оставьте действие пустым. После этого добавьте следующий код

  if (isset($_POST['upload'])) {

runMyFunction();
}
function runMyFunction(){
$uploaded=$_FILES['photo']['name'];
move_uploaded_file($_FILES['photo']['tmp_name'], $uploaded);
list($width, $height) = getimagesize($uploaded);
echo "width: " . $width . "<br />";
echo "height: " .  $height;
}
1

Другие решения

Когда вы загружаете файл, вы должны определить ENCTYPE = «многочастному / форм-данных» как :

<form action="index.php?upload=true" method="post" enctype="multipart/form-data">
<input type="file" name="photo" id="photo" value="upload image">
<input type="submit" name="upload" value="DO IT"/>
</form>

Документация здесь

2

Следует использовать $_FILES['photo'] вместо $_POST['photo'] а это значит, что вам также нужно добавить enctype="multipart/form-data" на ваш form элемент.

Прочитайте больше Вот

2

+ Изменить

if(isset($_GET['upload']))

в

if(isset($_POST['uploaded']))

Также

$uploaded=$_POST['photo'];

в

 $uploaded = $_FILES['photo'];
0

1) Оставь action = "" пусто, так как код присутствует в том же файле.

2) Добавьте атрибут enctype="multipart/form-data" в форме тега.

3) Использование $_FILES[]; вместо $_POST[];

4) Добавить ['name'] рядом с ['photo']

И Тада! это должно работать сейчас:

<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="photo" id="photo" value="upload image">
<input type="submit" name="upload" value="DO IT"/>
</form>
<?php
if (isset($_POST['upload'])) {

runMyFunction();
}
function runMyFunction(){
$uploaded=$_FILES['photo']['name'];
list($width, $height) = getimagesize("path/to/images/image.jpg");
echo "width: " . $width . "<br />";
echo "height: " .  $height;
}
?>
0
По вопросам рекламы [email protected]