ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

18.12.2008, 03:29
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
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;
}
?>
|
|
|

18.12.2008, 03:40
|
|
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме: 458686
Репутация:
-25
|
|
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, $im1, 0, 0, 0, 0, 215, 390);
imagecopy($im, $im2, 0, 410, 0, 0, 215, 20);
imagecopy($im, $im3, 0, 430, 0, 0, 215, 350);
imagejpeg($im);
imagedestroy($im);
}
else
{
exit();
}
?>
Последний раз редактировалось geforce; 18.12.2008 в 03:42..
|
|
|

18.12.2008, 03:49
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
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 - высота изображения, передавай куда хочешь. Хотя я не пойму, зачем она тебе нужна??? Если ты при выводе картинки в тэге укажешь только ширину, то высоту оно тебе подберет пропорционально
|
|
|

18.12.2008, 04:06
|
|
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме: 458686
Репутация:
-25
|
|
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, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
imagejpeg($im);
imagedestroy($im);
}
else
{
exit();
}
?>
|
|
|

18.12.2008, 04:13
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Позлравляю... но все равно, методы решения задач у тебя какие такие себе... пальцем в небо абы как...
Спокойной ночи
|
|
|

18.12.2008, 14:04
|
|
Постоянный
Регистрация: 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=вася РїСЂСЏРЅРёРєРѕРІ, в какие кодировки уже не переводил все равно выходит лабуда, как можно его превести в читабельный вид, уже и в штирлиц закидывал и тот переводит только вторую часть слова, че это за кодировка?
|
|
|

18.12.2008, 14:10
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
PaCo, urldecode, cледом iconv (http://php.net/iconv)
|
|
|

18.12.2008, 14:22
|
|
Постоянный
Регистрация: 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..
|
|
|

18.12.2008, 14:25
|
|
Новичок
Регистрация: 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! "); } ?>
Немного не понятно, почему он выводит выделенные символы 
|
|
|

18.12.2008, 14:31
|
|
Он хакер.
Регистрация: 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..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|