17.05.2006, 16:04
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!
Проверка изображения - очень простая.
Фнукция
array getimagesize ( string filename [, array imageinfo])
решает все проблемы.
Returns an array with 4 elements. Index 0 contains the width of the image in pixels. Index 1 contains the height. Index 2 is a flag indicating the type of the image: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. These values correspond to the IMAGETYPE constants that were added in PHP 4.3. Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.
Пример с ней, из мануала:
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src="img/flag.jpg" $attr alt="getimagesize() example" />";
А данные вставить те которые были переданы - еще проще.
Есть несколько вариантов.
Первый, самый простой.
Пусть есть файл file.php:
<?php
$var = $_POST[‘var‘];
?>
<form action="file.php" method="POST">
<input type="text" name="var" value="<?=$var?>">
<input type="submit" value="submit">
</form>
Тут при первой загрузке файла будет форма с пустым значением. Если ввести значение в поле и отправить форму, то файл загрузится снова, но уже с тем значением что было введено.
Ты должен идти по тому же принципу. Только значений у тебя больше. Единственное - имя файла в <input type="file"> ты поставить снова не сможешь.
Можно по-другому. Принцип тот же, но с небольшими изменениями:
1)проверяем, подходит ли картинка. Если да, то грузим все из POST в MySQL
2)если нет, то в сессию. и открываем страничку, с формой.
3)Там смотрим, если сессия не пустая, то грузим из нее данные в форму, так же как в предыдущем примере из POST.
Преимущество этого подхода. Можно чтобы форма была в одном файле, а обрабатывать ее можно в другом.