HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 18.12.2008, 03:49
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
С нами: 9185589

Репутация: 128
По умолчанию

PHP код:
<?php
// Подключаемься к базе данных  
include ("db.php");
//================Настройки============= // 
// максимальная ширина картинок на превью   
$maxwidth "300px";
// Директория для фотографий товаров 
$fotos_dir "fotos/";
$resizeWidth=215;
// Полное имя файла вместе с путем
$foto_name $fotos_dir time() . "_" $_FILES['myfile']['name'];
// Готовый тэг для вставки картинки на страницу  
$foto_tag "<img src='{$foto_name}' border='0'>";
// Тот же тэг, но для превью
$foto_tag_preview "<img src='{$foto_name}' border='0' width='{$maxwidth}'>";
// Текст ошибок  
$error_by_mysql "<span style='font: bold 15px tahoma; color: red'>Ошибка при добавлении данных в базу</span>";
$error_by_file "<span style='font: bold 15px tahoma; color: red'>Невозможно загрузить файл в директорию. Возможно её не существует</span>";
// Начало  
if (isset($_FILES["myfile"])) {
    
// Если ошибок не было  
    
if (($_FILES["myfile"]["error"] == 0) && (in_array(strtolower(substr($_FILES['myfile']['name'], - 4)), array(".jpg" ".gif" ".png")))) {
        
$upfile getcwd() . "/fotos/" time() . "_" basename($_FILES["myfile"]["name"]);
        if (
$_FILES['myfile']['tmp_name']){
            
//Если не удалось загрузить файл  
            
if (! move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))
                exit(
$error_by_file);
            else
            {
//Вызов новой функции для изменения размеров, учти, что теперь только jpg & gif, если хочешь, то добавь png, там все одинково получится
            //ОНА ВОЗВРАЩАЕТ НОВУЮ КОРРЕКТНУЮ ВЫСОТУ ИЗМЕНЕННОГО ИЗОБРАЖЕНИЯ
                
if(!($HEIGHT=openResizeAndSave($resizeWidth,$upfile)))
                    exit(
"Ошибка преобразования файла");
            }
        }
        else
            exit (
"Проблема: возможна атака через загрузку файла хотя проверяется это не так, а, наверное, просто нам подсовывают файл не с тем расширением {$_FILES ['myfile'] ['name']}");
        
// Заносим путь картинки в базу данных  
        
$query mysql_query("INSERT INTO foto (url,name) VALUES ('{$foto_name}','{$fotos_dir}{$foto_name}')"$db);
        if (
$query)
        {
            echo 
"{$foto_tag}Ъ<br /><b>Данные успешно внесены в базу</b>";
            
$adres=$foto_name;
        }
        else
            exit(
"<p>Ошибка сохранения данных.</p>" mysql_error());
    } else 
//Если возникла ошибка при передаче или левое расширение файла
        
exit("Ошибка обработки данных либо вы пытаетесь подсунуть нам свинью");
}
?>
<form action="end.php" method="post" name="end"> 
<? 
// Вывод базы картинок 
$result1 mysql_query("SELECT * FROM data",$db); 
if (!
$result1

    echo 
"<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@ruseller.com. <br> <strong>Код ошибки:</strong></p>"
    exit(
mysql_error()); 

if (
mysql_num_rows($result1) > 0

    
$myrow1 mysql_fetch_array($result1);  
    do  
    { 
        
printf ("<br><br><img src='admin/%s'><input name='vibor' type='radio' value='%s'><label>%s</label><br>",$myrow1["url"],$myrow1["id"],$myrow1["name"]);  
    } 
    while (
$myrow1 mysql_fetch_array($result1)); 

else 

    echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>"
    exit(); 

?> 
<input name="load" type="hidden" value="<? echo $adres?>" /> 
<input name="sub" type="submit" value="далее" /> 
</form>
<?
function openResizeAndSave($nWidth,$fileName)
        {
            switch(
substr($fileName,-4))
            {
            case 
".gif":
                {
                
$Res=imagecreatefromgif($fileName);
                
$ext=($Res)?".gif":"";
                break;
                }
            case 
".jpg":
                {
                
$Res=imagecreatefromjpeg($fileName);
                
$ext=($Res)?".jpg":"";
                break;
                }
            default: return 
FALSE;
            }
            
            if(
$Res)
            {
                
$Width=imagesx($Res);
                
$Height=imagesy($Res);
            }
            else
                return 
FALSE;
            
$Koef=($nWidth/$Width);
            
$nHeight=(int)($Koef*$Height);
            
$nRes=imagecreatetruecolor($nWidth,$nHeight);
            if(!
imagecopyresampled($nRes,$Res,0,0,0,0,$nWidth,$nHeight,$Width,$Height))
                return 
FALSE;
            
$Res=$nRes;
            
unlink($fileName);
            switch(
$ext)
                {
                case 
".jpg":
                    {
                    if(!
imagejpeg($Res,$fileName))
                        return 
FALSE;
                    break;
                    }
                case 
".gif":
                    {
                    if(!
imagegif($Res,$fileName))
                        return 
FALSE;
                    break;
                    }
                default : return 
FALSE;
                }
            return 
$nHeight;
       }
?>
$HEIGHT - высота изображения, передавай куда хочешь. Хотя я не пойму, зачем она тебе нужна??? Если ты при выводе картинки в тэге укажешь только ширину, то высоту оно тебе подберет пропорционально
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.