Как сделать чтобы была одна форма
для загрузки файла и была бы кнопка "+фото"
и при загрузке последующего файла файла
в базу бы добавлялась фотка и миниатюра к ней
и все фото относились бы к одному id
есть такой скрипт за основу
PHP:
скопировать код в буфер обмена
<? include('../blocks/bd.php'); //если в посте нажата кнопка сабмит if (isset($_POST["submite"])){ //если существует суперглобальный массив $_FILES if (isset($_FILES["file"])){ // Настройки загрузки // Полный путь для папки загрузки согласно глобальных php // Справка $_SERVER - http://php.ru/manual/reserved.variables.server.html $upload_path = $_SERVER["DOCUMENT_ROOT"]."/images/"; // Переменная для формирования ссылок $path = "http://".$_SERVER["SERVER_NAME"]."/images/"; $max_filesize = 524288; // Максимальный размер загружаемого файла в байтах (в данном случае он равен 0.5 Мб). В исходном файле add_goods_save.php в этом деле ошибка // Перед сохранением проверим все файлы на соответствие // for($i = 0; $i<count($_FILES["file"]["name"]); $i++){ $infofile = $_FILES["file"]["type"][$i]; switch($infofile){ case "image/jpeg": break; case "image/gif": break; case "image/png": break; default: exit("Формат файла ".$_FILES["file"]["name"][$i]." не поддерживается <br /><a href=\"".$_SERVER["REQUEST_URI"]."\">Вернитесь назад</а>"); } // размер файла if($max_filesize < (int)($_FILES["file"]["size"][$i])){ exit("Размер файла ".$_FILES["file"]["name"][$i]." превышает допустимые 0.5Мб<br /><a href=\"".$_SERVER["REQUEST_URI"]."\">Вернитесь назад</а>"); } } // Скрипт взял отсюда http://sanchiz.net/blog/resizing-images-with-php // Там же есть и описание include('classSimpleImage.php'); for ($i = 0; $i < count($_FILES["file"]["tmp_name"]);$i++) { $filename = $_FILES["file"]["name"][$i]; // Заполняем массив для записи в базу // Выдёргиваем расширение // Имя файла перевьюшки $thumb = "thumb_".substr($filename, 0 , strpos($filename,'.')).$ext; // Ресайзим $image = new SimpleImage(); $image->load($upload_path.$filename); $image->resizeToWidth(33); // Пропорционально по ширене 33 пикселя $image->save($upload_path.$thumb); // Пишем пути к файлам в массив $array[$i][0] = $path.$filename; $array[$i][1] = $path.$thumb; echo 'Файл №'.$i.'<br />'; echo '<a href="'.$array[$i][0].'" target="_blank" title="Download '.$array[$i][0].'" >'.$filename.'<br /><img src="'.$array[$i][0].'" /></a><br/>'; echo '<a href="'.$array[$i][1].'" target="_blank" title="Download '.$array[$i][1].'" >'.$thumb.'<br /><img src="'.$array[$i][1].'" /></a><br />------------------------------------------------------------------------------------<p> </p>'; }else{ echo "При загрузке файла ".$filename." возникли ошибки<br />"; } } echo "<br /><br /><br /><h1>Данные массива:</h1> <br />"; } } }else{ ?> <form action="index.php" method="post" enctype="multipart/form-data"> <input name="file[]" type="file" style="width:400px" /><input name="file[]" type="file" style="width:400px" /><input name="file[]" type="file" style="width:400px" /><input name="file[]" type="file" style="width:400px" /><input name="submite" type="submit" value="Отправить" /> </form> <? } ?>
(Отредактировано автором: 05 Января, 2013 - 20:01:37)
|