HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #7061  
Старый 18.12.2008, 03:29
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

PHP код:
// Заносим путь картинки в базу данных  
$q "INSERT INTO foto (url,name) VALUES ('$foto_name','$foto_light_name')";  
$query mysql_query($q);  

// Загрузка с базы 


$result mysql_query("SELECT * FROM foto WHERE name='$foto_light_name'",$db); 
Посмотри на это!!! Ты только что добавил и тянешь зачем-то назад)))
Ладно, вот так, дополнил, иеперь функционал совпадает нувааще )))
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, там все одинково получится
                
openResizeAndSave($resizeWidth,$upfile);
            }
        }
        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 
TRUE;
       }
?>
 
Ответить с цитированием

  #7062  
Старый 18.12.2008, 03:40
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
Question

ss88

Ещё мне нужна переменая высоты которая отвечает за пропорции ну типа шарина всё время 215, а высота то меняется и мне нужно передовать её в файл end.php и подстовлять её в переменую $heigth

ну типа $heigth = та переменая + 320;

PHP код:
<?php include("db.php");
header('Content-type: image/jpeg');
if (isset(
$_POST['vibor'])) { $vibor $_POST['vibor'];} 
if (isset(
$_POST['load'])) { $adres $_POST['load'];} 
$result1 mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
if (!
$result1)
{
exit(
mysql_error());
}
if (
mysql_num_rows($result1) > 0)
{
$myrow1 mysql_fetch_array($result1);

$width 275;
$heigth 750// чтоб при создании картинки не было лишних пикселей
$adres1 "admin/".$myrow1['url'];
$im imagecreatetruecolor($width$heigth); 

$im1 imagecreatefromjpeg($adres);
$im2 imagecreatefromjpeg('logo.jpg');
$im3 imagecreatefromjpeg($adres1);
 
imagecopy($im$im10000215390);
imagecopy($im$im204100021520);
imagecopy($im$im3043000215350);

imagejpeg($im);
imagedestroy($im);
}
else
{
exit();
}
?>

Последний раз редактировалось geforce; 18.12.2008 в 03:42..
 
Ответить с цитированием

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

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

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 - высота изображения, передавай куда хочешь. Хотя я не пойму, зачем она тебе нужна??? Если ты при выводе картинки в тэге укажешь только ширину, то высоту оно тебе подберет пропорционально
 
Ответить с цитированием

  #7064  
Старый 18.12.2008, 04:06
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
Wink

ss88
Проблема решина вопрос закрыт ))

PHP код:
<?php include("db.php");
header('Content-type: image/jpeg');
if (isset(
$_POST['vibor'])) { $vibor $_POST['vibor'];} 
if (isset(
$_POST['load'])) { $adres $_POST['load'];} 
$result1 mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
if (!
$result1)
{
exit(
mysql_error());
}
if (
mysql_num_rows($result1) > 0)
{
$myrow1 mysql_fetch_array($result1);
$mas getimagesize($adres);
$width 215;
$heigth $mas[1]+270;
$adres1 "admin/".$myrow1['url'];
$im imagecreatetruecolor($width$heigth); 

$im1 imagecreatefromjpeg($adres);
$im2 imagecreatefromjpeg('logo.jpg');
$im3 imagecreatefromjpeg($adres1);
 
imagecopy($im$im10000215$mas[1]);
imagecopy($im$im20$mas[1], 0021520);
imagecopy($im$im30$mas[1]+2000215350);

imagejpeg($im);
imagedestroy($im);
}
else
{
exit();
}
?>
 
Ответить с цитированием

  #7065  
Старый 18.12.2008, 04:13
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Позлравляю... но все равно, методы решения задач у тебя какие такие себе... пальцем в небо абы как...
Спокойной ночи
 
Ответить с цитированием

  #7066  
Старый 18.12.2008, 14:04
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

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

доброго всем дня, у меня такой вопрос, вообшем например я ввожу в гугл(яшу,рамблер) например такой запрос :
вася пряников, после клацания на кнопку серч в адресной строке вылазиет поисковый запрос q=%D1%84%D1%8B%D0%B2%D1%84%D1%8B%D0%B2%D1%84%D1%8B %D0%B2
сответсвенно делаю urldecode() даной строки и получаю вот такие символы q=вася РїСЂСЏРЅРёРєРѕРІ, в какие кодировки уже не переводил все равно выходит лабуда, как можно его превести в читабельный вид, уже и в штирлиц закидывал и тот переводит только вторую часть слова, че это за кодировка?
 
Ответить с цитированием

  #7067  
Старый 18.12.2008, 14:10
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

PaCo, urldecode, cледом iconv (http://php.net/iconv)
 
Ответить с цитированием

  #7068  
Старый 18.12.2008, 14:22
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

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

Цитата:
Сообщение от Isis  
PaCo, urldecode, cледом iconv (http://php.net/iconv)
Что бы перевести кодировку из одной в другую надо знать начальную кодировку, а я х.з., похожа на KOI-8, но echo iconv("KOI8-U", "windows-1251", urldecode("q=%D0%B2%D0%B0%D1%81%D1%8F+%D0%BF%D1%80 %D1%8F%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2")) ; выводит что симврлы не те ты вводишь типа.
Порыскал по форумам, нигде не смогли решить эту траблу, все кричат забей, походу придеться забить.

Последний раз редактировалось PaCo; 18.12.2008 в 14:34..
 
Ответить с цитированием

  #7069  
Старый 18.12.2008, 14:25
Jino
Новичок
Регистрация: 27.09.2007
Сообщений: 22
Провел на форуме:
10910

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

Сам осознаю, что вопрос глупый.

Начал изучать PHP, накачал учебников и прочего, пробую самый первый пример из приведенных.
PHP код:
<Html>
<head>
<title>asdfskld</title>
</head>
<body>
<?
   
if(5<3){
   echo(
"<p>Hello, world!</p>");
?>
   <p>Hello!</p>
   // эта строка не интерпретируется как код PHP
   // и выводится только если  блок кода выполняется
<?
      
echo("<p>Hello, world!</p>");
   }
?>
</body>
</Html>
В результате браузер выводит:

Hello, world!

"); ?>

Hello!
// эта строка не интерпретируется как код PHP // и выводится только если блок кода выполняется Hello, world!"); } ?>


Немного не понятно, почему он выводит выделенные символы
 
Ответить с цитированием

  #7070  
Старый 18.12.2008, 14:31
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Jino  
Сам осознаю, что вопрос глупый.

Начал изучать PHP, накачал учебников и прочего, пробую самый первый пример из приведенных.
PHP код:
<Html>
<head>
<title>asdfskld</title>
</head>
<body>
<?
   
if(5<3){
   echo(
"<p>Hello, world!</p>");
?>
   <p>Hello!</p>
   // эта строка не интерпретируется как код PHP
   // и выводится только если  блок кода выполняется
<?
      
echo("<p>Hello, world!</p>");
   }
?>
</body>
</Html>
В результате браузер выводит:

Hello, world!

"); ?>

Hello!
// эта строка не интерпретируется как код PHP // и выводится только если блок кода выполняется Hello, world!"); } ?>


Немного не понятно, почему он выводит выделенные символы
Может дело в том,что не закончив один код <? ?> ты в нем начинаеш другой? Попробуй так.
PHP код:
<?
   
if(5<3){
   echo(
"<p>Hello, world!</p>");
   echo 
"<p>Hello!</p>";
   
// эта строка не интерпретируется как код PHP
   // и выводится только если  блок кода выполняется
      
echo("<p>Hello, world!</p>");
   }
?>
Темболее,там еще выполняеться оператор if(); и он выводи поэтому тебе ?> как обычный текст.

Последний раз редактировалось m0Hze; 18.12.2008 в 14:34..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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.XYZ