Просмотр полной версии : [php] Новичкам: задаем вопросы
1) Какой функцией можно узнать Mime-type файла? Не тока картинки, а любого???
2) Какой функцией узнать кодировку текстового файла???
1 mime_content_type
2 хз
[x26]VOLAND
30.09.2008, 12:56
Как реализовать постраничный вывод? mysql+php
Из моего движка:
function pager($page, $pages, $pg) { # Build pagination
$res = ' <table border=0 class=row1 width=370 cellspacing=0 cellpadding=0><tr><td align=right><br><b>Pages: </b>';
$numpag = (int)($pages);
if ($numpag < $pages) {$numpag++;}
if ($numpag == 0) {$numpag = 1;}
$currp = (int)($pg);
$res .= ($pg <= 1) ? '<b><font color=#AAAAAA>«</font></b> ' : '<a href="?page='.$page.'&pg='.($currp-1).'">«</a> ';
if ($numpag <= 10)
{
for ($i=1; $i<=$numpag; $i++)
{
$res .= (($i <= $pg) && ($i >= $pg)) ? '<b><font color=#000000>['.$i.']</font></b> ' : '<a href="?page='.$page.'&pg='.$i.'">'.$i.'</a> ';
}
}
else
{
$showpag = 10;
$st = $currp-4;
if ($st < 1) {$st = 1;}
if ($st > 2)
{
$res.=' <a href="?page='.$page.'&pg=1">1</a> <b><font color=#AAAAAA>...</font></b>';
$showpag-=2;
}
else if ($currp > 5)
{
$res.=' <a href="?page='.$page.'&pg=1">1</a> ';
$showpag-=1;
}
if ($st+$showpag > $numpag) {$st = $numpag-$showpag;}
for ($i=$st; $i<=$st+$showpag; $i++)
{
$res.= (($i <= $pg) && ($i >= $pg)) ? ' <b><font color=#000000>['.$i.']</font></b> ' : ' <a href="?page='.$page.'&pg='.$i.'">'.$i.'</a> ';
}
if ($st < ($numpag-$showpag)-1) {$res.=' <b><font color=#AAAAAA>...</font></b> <a href="?page='.$page.'&pg='.$numpag.'">'.$numpag.'</a> ';}
else if (($currp <= $numpag-5)&&($numpag>$showpag+1)) {$res.=' <a href="?page='.$page.'&pg='.$numpag.'">'.$numpag.'</a> ';}
}
$res .= ($pg >= ($pages)) ? '<b><font color=#AAAAAA>»</font></b> ' : '<a href="?page='.$page.'&pg='.($currp+1).'">»</a></td>';
return $res; }
$page - имя страницы (?page=$page)
$pages - Кол-во страниц.
$pg - текущая страница (?page=$page&pg=$pg)
Пример вызова: echo pager('news',30,15);
Получается нечто подобное:
Pages: « 1 ... 11 12 13 14 [15] 16 17 18 19 ... 30 »
<?php
$mime=mime_content_type('file.rar');
echo $mime;
?>
Выдаёт:
Fatal error: Call to undefined function: mime_content_type()
PHP Version 5.2.4
Dr1ver включи модуль php_mime_magic
Dr1ver включи модуль php_mime_magic
У себя то я включу, а вот на хостинге - вряд ли
Dr.Frank
30.09.2008, 14:42
У себя то я включу, а вот на хостинге - вряд ли
Закачиваешь на сервак, подключаешь функцией dl()
подскажите, как на php генерировать случайные числа? $z= gmp_random(50); так, неработает
подскажите, как на php генерировать случайные числа? так, неработает
http://ru2.php.net/manual/ru/function.mt-rand.php
подскажите, как на php генерировать случайные числа? так, неработает
<?php
$randomize=rand( 1, 200);
echo $randomize;
?>
1- минимальное число;
2-максимальное число;
<?php
$randomize=rand( 1, 200);
echo $randomize;
?>
1- минимальное число;
2-максимальное число;
mt_rand(0,10);
тут случайное число лучше :)
Такой вопрос есть текст
Если вы наш покупатель и хотите увидеть свою аську тут в списке дилеров (а наш сайт посещают довольно много потенциальных покупателей), то напомните мне о себе: я с удовольствием ее тут поставлю.
есть файл tags.txt с ссылками
<a href="www.vot.ru">тут</a>
<a href="www.vid.ru">вид</a>
И т.д. с анкорами слов.
$bodyblock=file_get_contents('text.txt');
$links=array_map('rtrim',file("tags.txt"));
$links_for_replacement=Array();
$words_to_replace=Array();
foreach($links as $link)
{
$link=str_replace("color: {$color};",null,$link);
$link=str_replace("font-size: {$size_ankor}px;",null,$link);
$link=str_replace(",",null,$link);
if(!$link)
continue;
preg_match("/>(.+)</",$link,$word);
if(!isset($word[1]))
continue;
$links_for_replacement[]=$link;
$words_to_replace[]=$word[1];
}
$bodyblock=str_replace($words_to_replace, $links_for_replacement, $bodyblock);
Этот скрипт ищет в тексте слова и заменяет их на ссылки с анкором, заменненного слова. Но допустим если у нас слово увидеть и есть в файле tags.txt ссылка с анкором вид то скрипт заменит только часть слова, будет что то типа у<a href="www.vid.ru">вид</a>еть... Как это все дело можно исправить? разбить текст на массив по слову и сравнивать?
2Zircool в регулярках есть такая полезная штуковина, которая обзываеся утверждения, которая позволяет проверять символы, следующие до или после ткущего (эт в простейшем приближении...).
Вот тебе короткое описание, если не поймеш - думаю найти инфу по ээтому вопросу не проблема:
(?:x) — Сопоставляется с 'x', но не запоминает совпадение. Это называется "незахватывающие скобки". Совпавшая подстрока не может быть вызвана из элементов результирующего массива [1], ..., [n] или из предопределённых свойств $1, ..., $9 RegExp-объектов.
x(?=y) — Сопоставляется с 'x', только если после 'x' следует 'y'. Например, /Jack(?=Sprat)/ совпадает с 'Jack', только если следом идёт 'Sprat'. /Jack(?=Sprat|Frost)/ совпадает с 'Jack', только если следом идёт 'Sprat' или 'Frost'. Однако ни 'Sprat', ни 'Frost' не являются частью результатов совпадения.
x(?!y) — Сопоставляется с 'x', только если после 'x' не следует 'y'. Например, /\d+(?!\.)/ сопоставляется с числом, только если следом не идёт десятичная точка. Так, например, /\d+(?!\.)/.exec("3.141") совпадает с 141, но не совпадает с 3.141.
Здесь описаны так называемые "смотрящие вперед" утверждения. Аналогично есть "смотрящие назад" утверждения, с той лишь разнцей, что обозначается
(?<=
и
(?<!
соответственно.
winstrool
01.10.2008, 08:48
Народ подскажите плиз как в пхп можно сделать бан по Ip
<?php
if ($_SERVER['HTTP_X_FORWARDED_FOR']=='127.0.0.1' || $_SERVER['REMOTE_ADDR']=='127.0.0.1') {header('Location: http://google.ru');}
?>
так например
Ипы забаненых можно хранить в файле или базе, переписать скрипт для этого дело пары минут. Но принцип примерно такой.
Добрый день. Скажите пожалуйста какой командой можно запретить вывод ошибок на экран?
Заранее спасибо.
mmcache_load можна както роскодировать?
Еще один вопросик, есть массив ссылок
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_skidkoy41.php">скидкой</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_uvidetj24.php">ценой</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_garantiruete23.php">гарантируете</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_hostinga44.php">хостинга</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_cenoy25.php">ценой</a>,
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_samim1.php">самим</a>,
как из такого массива удалить ссылку с одинкаовым анкором, к примеру у нас есть ссылка
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_uvidetj24.php">ценой</a>,
и есть
<a style='color: #DE1F1A; font-size: 12px; TEXT-DECORATION: none;' href="/tags/tag_uvidetj24.php">ценой</a>,
Путь ссылок разный но анкоры одинаковые, так вот как можно удалить из списка ссылки с одинаковыми анкорами, оставив только одну?
Zircool, preg_match_all('#<[^>]*>([^<>]*)[^\r\n]*#i',implode("\r\n",$a),$match);
$tmp=array_combine($match[0],$match[1]);
$out=array_keys(array_unique($tmp));
print_r($out);
Спасибо прочитал страницу 578 нашел ответ!!))! СПасибо!
spamoney
01.10.2008, 16:40
Всем привет! Очень нужна ваша помощь!
Допустим есть текст:
<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>
Хочу сделать предварительный просмотр новости, путём обрезания определенного кол-ва символов (например перевые 12 символов, не меньше!!!) от полной новости, но возникает несколько проблем:
1). Это не законченность предложения, хотелось что бы предложения новости обрезалось до точки.
т.е допустим у меня указано обрезать первые 12 символов, как можно сделать что б обрезалось не менее 12 первых символов до точки/восклицательного/вопросительного знака??
т.е должно получится так:
<b>Привет.</b> <strong>Бла-бла-бла.,
а не так, т.к тут всего 10 символов:
<b>Привет.
2). При решении первой проблемы возникает другая, незакрытые тэги, при обрезании новости получается, что тэги, также обрезаются и оказываются не закрытыми
Как сделать, что бы, если тэг остался не закрытым то он бы обрезался??
т.е в конечном итоге мы должны получить такой текст предварительного просмотра:
<b>Привет</b>. Бла-бла-бла.
Если кто-нибудь сможет - помогите пожалуйста
spamoney,
$str="<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>";
preg_match('#^([\s\S]{12}[^\!\.\?]*)[\.\!\?]#i',strip_tags($str),$match);
echo $match[1];
У кого-нибудь есть пример аторизации на форуме phpbb с помощью curl или хотябы сокетов ?
тут вопрос такой появился. у меня есть сайт. там авторизация построена на сессии, когда начинается сессия время начала записывается в мускуль, когда нажимается Выход время окончания тоже записывается в мускуль, а вот как записать время окончания в мускуль если человек не нажал на Выход, а просто закрыл страницу?
если от него например нет ответа больше чем 1 минуту,подругому никак.
ну это понятно, какой-то тайм-аут, но как его реализовать!?
astrologer
01.10.2008, 20:08
ну это понятно, какой-то тайм-аут, но как его реализовать!? http://ru.php.net/manual/ru/function.session-set-save-handler.php
У кого-нибудь есть пример аторизации на форуме phpbb с помощью curl или хотябы сокетов ?
очень надо
Вопросик есть один... .есть текст
Любишь меня или нет? пожалуйста дай мне свой ответ, не томи и не беги а любовь нашу береги... и люби... любишь знаешь понимаешь что все время убегаешь..
Помощи функции str_replace можно заменить любое слово, к примеру любишь, но функция str_replace заменяет все вхождения т.е. в тексте все слова любишь мы заменим на слово котрое нужно, а как можно сделать что бы заменяло лишь певое вхождение, а все остальные посвторения заменяемого слова оставить без изменений?
Zircool str_replace ( mixed $search , mixed $replace , mixed $subject [, int $&count ] )
Четвертым параметром передается количество вхождений, которые надо заменить
rushter А в чем собственно проблема? Берешь сниффер, авторизируешься и смотришь какие именно параметры передавались в POSTе
проблема в том что я так и сделал,но что-то авторизация не проходит
Есть ли возможность выполнять ПХП скрипт от имени рута? На сервере имею все права
Там вроде апач и так все привелегии имеет на сколько я знаю
Есть ли возможность выполнять ПХП скрипт от имени рута? На сервере имею все права
Думаю, если переместить пользователя www-data(www-пользователь, через которого выполняются веб-приложения) в группу root, то он будет обладать такими же правами:
useradd -g {group-name} username
useradd -g root www-data
Есть ли возможность выполнять ПХП скрипт от имени рута? На сервере имею все права
sudo?
spamoney
02.10.2008, 05:04
Всем привет! Очень нужна ваша помощь!
Допустим есть текст:
<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>
Хочу сделать предварительный просмотр новости, путём обрезания определенного кол-ва символов (например перевые 25 символов, не меньше!!!) от полной новости, но возникает несколько проблем:
1). Это не законченность предложения, хотелось что бы предложения новости обрезалось до точки.
т.е допустим у меня указано обрезать первые 25 символов, как можно сделать что б обрезалось не менее 25 первых символов до точки/восклицательного/вопросительного знака??
т.е должно получится так:
<b>Привет.</b> <strong>Бла-бла-бла.,
а не так, т.к тут всего 10 символов:
<b>Привет.
2). При решении первой проблемы возникает другая, незакрытые тэги, при обрезании новости получается, что тэги, также обрезаются и оказываются не закрытыми
Как сделать, что бы, если тэг остался не закрытым то он бы обрезался??
т.е в конечном итоге мы должны получить такой текст предварительного просмотра:
<b>Привет</b>. Бла-бла-бла.
Если кто-нибудь сможет - помогите пожалуйста
Предложенный вариант от Gifts, работает, но немного не так
spamoney,
$str="<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>";
preg_match('#^([\s\S]{25}[^\!\.\?]*)[\.\!\?]#i',strip_tags($str),$match);
echo $match[1];
1.) Допустим если я меняю текст на (т.е после 25 символов нет точки/вопроса/восклицания):
<b>Привет</b>. <strong>Бла-бла-бла</strong> <tr><td>Текст - Текст - Текст</td></tr>
то вылазит ошибка:
Notice: Undefined offset: 1 in z:\***\www\script.php on line 12
тогда уж если нет точки/вопроса/восклицания, то пусть просто обрезает не менее 25 символов и до конца слова, т.е так:
<b>Привет</b>. <strong>Бла-бла-бла
2.) Нужно обрезеать не все тэги, а только незакрытые, т.е так:
<b>Привет</b>. Бла-бла-бла
Можно ли как нибудь всё это реализовать???
spamoney Регулярка, если нет пробелов ^([\s\S]{25}(?:[^\!\.\?]*[\.\!\?]|\S*\s))
Убирать лучше все теги - а то останется какой нить tr, hr, br и так далее, И будешь с ними мучаться. А так - весь вывод будет в одном стиле, например первое слово жирное, остальное курсивом. Опять таки полученная длина строчки будет меньше, чем 25 символов и т.д. и т.п.
Ну если очень хочется удалять не закрытые - то будет что-то вроде вот этого:
$str="<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>";
preg_match('#^([\s\S]{25}(?:[^\!\.\?]*[\.\!\?]|\S*\s))#i',$str,$match);
$code = $match[1];
$code = preg_replace('|<(\w+)(\s*.*)>(.*)</\1>|Usi', '{{$1$2}}$3{{/$1}}', $code);
$code = strip_tags($code);
$code = preg_replace('|{{(\w+)(\s*.*)}}(.*){{/\1}}|Usi', '<$1$2>$3</$1>', $code);
print $code;
MaSTeR GэN
02.10.2008, 18:46
помогите составить регулярку для дампа Mssql :
<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80040e07'</font>
<p>
<font face="Arial" size=2>[Microsoft][ODBC SQL Server Driver][SQL Server]È stato rilevato un errore di sintassi durante la conversione del valore nvarchar '1:elena.abba@dmgroup.it:fabio:1:Elena:Abbà::Via BOVE 14:Torino:10129:TO:011 5097327::' in una colonna di tipo int.</font>
<p>
<font face="Arial" size=2>/myclub/lista/_aggiungi.asp</font><font face="Arial" size=2>, line 4</font>
Оставить нужно только "1:elena.abba@dmgroup.it:fabio:1:Elena:Abbà::Via BOVE 14:Torino:10129:TO:011 5097327::"
и есче не поджкажите при использовании curl можно ли работать с кодом страницы без записи её в фаил то есть получил страницу прогнал через регулярку и записал только нужное сразу в фаил а не какждый раз просматривать фаил и удалять не нужное ?
помогите составить регулярку для дампа Mssql :
<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80040e07'</font>
<p>
<font face="Arial" size=2>[Microsoft][ODBC SQL Server Driver][SQL Server]È stato rilevato un errore di sintassi durante la conversione del valore nvarchar '1:elena.abba@dmgroup.it:fabio:1:Elena:Abbà::Via BOVE 14:Torino:10129:TO:011 5097327::' in una colonna di tipo int.</font>
<p>
<font face="Arial" size=2>/myclub/lista/_aggiungi.asp</font><font face="Arial" size=2>, line 4</font>
Оставить нужно только "1:elena.abba@dmgroup.it:fabio:1:Elena:Abbà::Via BOVE 14:Torino:10129:TO:011 5097327::"
и есче не поджкажите при использовании curl можно ли работать с кодом страницы без записи её в фаил то есть получил страницу прогнал через регулярку и записал только нужное сразу в фаил а не какждый раз просматривать фаил и удалять не нужное ?
вот лови
preg_match_all("/nvarchar\040'(.*)'\040in\040una\040colonna/",$str,$matches);
var_dump($matches);
MaSTeR GэN
02.10.2008, 19:24
cпс ну и есче остался второй вопрос :
и есче не поджкажите при использовании curl можно ли работать с кодом страницы без записи её в фаил то есть получил страницу прогнал через регулярку и записал только нужное сразу в фаил а не какждый раз просматривать фаил и удалять не нужное ?
MaSTeR GэN "#del valore \S* \'([^\']*)\'#i"
Насчет курла - люди так обычно и делают. Покажи пример как ты используешь курл
inlanger
02.10.2008, 19:28
Можно работать с переменной, так же, как и с файлом.
MaSTeR GэN
02.10.2008, 19:39
.................................................. ..........................
function sd_gt($get_url,$desp)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $get_url);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./htdocs/1.txt");
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
curl_setopt($ch, CURLOPT_FILE,$desp);
return $data = curl_exec($ch);
}
$postfix = 2;
$get_url="site.com/direct"
$filename = "base".$postfix;
$desp = fopen ($filename,"a+")
sd_gt($get_url,$desp);
fclose($desp);
.................................................. ..........................
function openConnection($action,$follow,$timeout,$header,$c ookie,$method,$fields = false,$referer = false, $proxy = false)
{
$ch = curl_init($action);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FAILONERROR,0);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$follow);
curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_HEADER,$header);
curl_setopt($ch,CURLOPT_COOKIE,$cookie);
curl_setopt($ch,CURLOPT_REFERER,$referer);
curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.52 (Windows NT 5.1;ruRu)');
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
if($method == 'POST')
{
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
}
if($proxy)
{
curl_setopt($ch,CURLOPT_PROXY,$proxy);
}
if($res = curl_exec($ch))
{
curl_close($ch);
return $res;
}
else
{
return false;
}
}
Вот моя функция работы =) поддерживает прокси
Прокси указывать не обязательно. Реферер тоже. Поля для поста тоже не обязательно. Если используешь POST, то напиши в параметре method - POST(Заглавными буквами)
MaSTeR GэN
02.10.2008, 20:37
спс коненчо у меня вот только вопрос результат работы как вывести в массив ?
MaSTeR GэN Вместо curl_setopt($ch, CURLOPT_FILE,$desp); пишите curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); Тогда функция будет возвращать полученную строку
.::BARS::.
03.10.2008, 16:53
Подскажите как массово промаркировать картинки на сервере. Заметьте, картинки не в одной папке. Промаркировать - на каждую картинку прилепить свой логотип.
Подскажите как массово промаркировать картинки на сервере. Заметьте, картинки не в одной папке. Промаркировать - на каждую картинку прилепить свой логотип.
пройтись по всем папкам,opendir'ом,смотреть тип файла,если подходящий - с помощью GD открывать(imagecreatefrom***) ну и накладывать уже
.::BARS::.
03.10.2008, 17:01
пройтись по всем папкам,opendir'ом,смотреть тип файла,если подходящий - с помощью GD открывать(imagecreatefrom***) ну и накладывать уже
Пример если можно...
http://il.php.net/manual/ru/ref.image.php
У кого-нибудь есть пример аторизации на форуме phpbb с помощью curl или хотябы сокетов ???
??
<?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://macca.devstars.eu/phpBB2/login.php'); # кулды кулды :) // сайт для примера..
curl_setopt($ch, CURLOPT_POST, 1); # главпочтамп .
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); # ретурнить трансферу ..
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); # сдедовать за локацией
curl_setopt($ch, CURLOPT_TIMEOUT, 3600); # час тайм аута !!! ха ха ха
curl_setopt($ch, CURLOPT_HEADER, 1); # а тут это вот .. ну короче для дальнейших действий .. куки вытащить итд
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.52 (Windows NT 5.1; U; ru)'); # волшебный браузер .. опера !!!
curl_setopt($ch, CURLOPT_COOKIE, 'хуяссе .. тут куки весёлые .. но моно и без них'); #это для дальнейшего ..
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username=159932login&password=159932password&redirect=&login=Log+in'); # почтовые поля ..
$result = curl_exec($ch);
?>
http://il.php.net/curl
не работает...
а чо так ? :p
ну не повезло тебе значит .. :(
уверен что курл у тебя стоит!?
тем более ты просил пример - я тебе эго дал ..
логин:пасс - там не верный.. в этом трабла ??
зарегься там и вставь реальные данные
[x26]VOLAND
03.10.2008, 18:44
Пример если можно...
Давно выкладывал в этом разделе свой скриптик, уменьшающий одну картинку и накладывающий уменьшенную копию в центр другой картинки:
<?php
$file1= '1.jpg'; # 200*200
$file2= '2.jpg';
$image1 = ImageCreateFromJPEG($file1);
function resize($image, $new_width, $new_height, $target) { # Функция ресайза картинки
if (file_exists($image))
{
$image = ImageCreateFromJPEG($image);
$width = ImagesX($image);
$height = ImagesY($image);
$thumb = ImageCreateTrueColor($new_width,$new_height);
ImageCopyResampled($thumb, $image, 0,0,0,0, $new_width, $new_height, $width, $height);
ImageJPEG($thumb, $target, 100);
ImageDestroy($image);
}
}
resize($file2, 100, 100, '2_resized.jpg'); # Ресайзим вторую картинку
$image2 = ImageCreateFromJPEG('2_resized.jpg');
ImageCopyMerge($image1, $image2, ceil(ImagesX($image1)/4), ceil(ImagesY($image1)/4), 0, 0, ImagesX($image2), ImagesY($image2), 100);
ImageJPEG($image1, '3.jpg', 100); # Сохраняем готовую картинку
ImageDestroy($image1);
ImageDestroy($image2);
?>
Если знаешь хотябы основы php, думаю разберёшься и переделаешь под свою задачу...
а чо так ? :p
ну не повезло тебе значит .. :(
уверен что курл у тебя стоит!?
тем более ты просил пример - я тебе эго дал ..
логин:пасс - там не верный.. в этом трабла ??
зарегься там и вставь реальные данные
да я реальные и вставлял.. ,курл стоит
да я реальные и вставлял.. ,курл стоит
ну а я что могу поделать тогда !?
можт там рефер чекается ? тогда поставить надо ..
еси хочешь, чтоб я точно сделал под определённый форум - кинь ссыль на форум с логином в пм .. :)
Такой вопрос... Никак не могу продумать как его осуществить... Вообщем описываю ситуацию... Есть такая штучка как "Облако тегов", смысл мода такой он анализирует все тексты сайта и выбирает из статьи рандомно 8 слов, затем открывает файл tags.txt и прописывает туда путь страницы и имя анкора <a href="ссылка на статью">анкор</a> А затем рандомно на сайте выводятся в отдельном поле ссылки из файла tags.txt.
Вот пример сайта xsatellite.ru. Но дело даже не в этом, дело в том что в файле tags.txt есть записи которые имеют одинаковые анкоры но разные ссылки. Как можно сделать что бы при нажатии на тег, если в файле tags.txt существует несколько записей динаковыми анкорами, то при нажатии на ссылку вначале открывалась страница где выводился краткий анонс статьи и ссылка на статью...
Для примера можно посмотреть облако тегов на http://www.xsatellite.ru/ там стоит двиг ДЛЕ и мод к нему.. Так вот основной вопрос как это можног осуществить. подскажите с помощью каких функций...
У меня в голову пришла только одна идея, с помощью $_SERVER["REQUEST_URI"] отслеживаем url запрашиваемой страницы, парсим с помщью preg_match анкор страницы, затем имея уже анкор парсим tags.txt на количество страниц с такм же анкором, и если их больше 1 то тогда страницы вывода будет иметь другой вид мы выводим краткий обзор статьи и сылку на тсатью и т.д. в зависимости сколько страниц с такими же анкорами, но вот только в таком коде будет ошибка страницу невозможно будет открыть т.к. реквесты всегда будут отслеживаться и всегда будет выводиться окно с кратким обзором статьи и ссылку на статью... Ух написал же я... У меня вопрос есть ли у кого идея как можно правильно воплотить идею, скажите какие функции использовать?
Zircool Ну а в чем собственно вопрос? Ты все правильно расписал. mod_rewrite и все в порядке
И вообще - скачай этот мод для ДЛЕ, да посмотри как там реализовано
З.Ы. Было бы не одним сплошным потоком текста, а хотя бы с абзацами - читать было бы проще твой пост
<?php
$x = "";
$x = (string) $x;
$z = array(1,2,5,$x,8);
echo $z[3];
echo gettype($z[3]);
?>
Кубик Рубик
04.10.2008, 19:02
Привет помогите написать скрипт!
Задача: Собирать адреса сайтов из определённой доменной зоны(СС например) в текстовый файлик.
Как реализовать?
Думаю расклад такой:
Скрипт посылает запрос в google inurl:.cc/ на что гугл выводит нам адреса
Скрипт собирает эти адреса в файл.
Только вот как их собирать? :confused:
Заранее спасибо!
Пошли запрос вида "Парсер Google" в гугл... :)
вот тебе регулярка для гугла ..
preg_match_all('#s=r><a href="(.+?)"|U class=l>#',$result,$m);
а дальше сам .. делай вайлом или фором, смотря какого результа ждёшь
Кубик Рубик
04.10.2008, 19:31
Спасибо_))
Люди просветити пожалуйста что такое крон и счем его едят? слышал что с его помощью пожно задавать периодичность запуска скрипта...
++Norton++
05.10.2008, 01:11
Да, крон (cron) - это планировщик в *.nix.
Здесь:
http://www.peterhost.ru/instr3_8.shtml
и вот здесь:
_http://www.opennet.ru/man.shtml?topic=cron&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man
Можно почитать как его юзать
++Norton++, не только в никсах ..
Red_Red1
05.10.2008, 01:51
2 Кубик Рубик, вот такой парсер получился, попробуй может оно.
<?
header("Content-Type: text/html; charset=utf-8");
function gooParce ($keyword,$start)//$keyword - запрос, $start с какой страницы гугла выводить (начинается с нуля, шаг 10)
{
$url = 'http://www.google.ru/search?complete=1&hl=ru&lr=&newwindow=1&as_qdr=all&q='.urlencode($keyword).'&start='.$start.'0&sa=N';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$rs = curl_exec($ch);
$doc = new DOMDocument('1.0', 'utf-8');
@$doc->loadHTML($rs);//Загружаем в ДУМ
$d=$doc->getElementsByTagName('cite');
for ($i=0; $i<$d->length;$i++)
{
$ss=$d->item($i)->nodeValue;
$x=strpos($ss,' ');//Ищу пробел
$ss=substr($ss,0,$x);//вырезаю адрес
$ret[$i]=$ss;
}
return $ret;
}
//------------------------------------------------------------------------------
echo '<pre>';
print_r (gooParce('site:.cc',0));
echo '</pre>';
?>
2 Кубик Рубик, вот такой парсер получился, попробуй может оно.
<?
header("Content-Type: text/html; charset=utf-8");
function gooParce ($keyword,$start)//$keyword - запрос, $start с какой страницы гугла выводить (начинается с нуля, шаг 10)
{
$url = 'http://www.google.ru/search?complete=1&hl=ru&lr=&newwindow=1&as_qdr=all&q='.urlencode($keyword).'&start='.$start.'0&sa=N';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$rs = curl_exec($ch);
$doc = new DOMDocument('1.0', 'utf-8');
@$doc->loadHTML($rs);//Загружаем в ДУМ
$d=$doc->getElementsByTagName('cite');
for ($i=0; $i<$d->length;$i++)
{
$ss=$d->item($i)->nodeValue;
$x=strpos($ss,' ');//Ищу пробел
$ss=substr($ss,0,$x);//вырезаю адрес
$ret[$i]=$ss;
}
return $ret;
}
//------------------------------------------------------------------------------
echo '<pre>';
print_r (gooParce('site:.cc',0));
echo '</pre>';
?>
так никогда не делай. Соединение нужно закрыть curl_close()
+в данном случае желательно использовать file_get_contents, т.к не надо передававать никаких заголовков
Имеется база данных в формате *.xml с товаром, разбитым по категориям. Подскажите пожалуйста, как средствами php я могу импортировать этот *.xml файл в базу данных MySQL, разложив всё в таблицы??
Имеется база данных в формате *.xml с товаром, разбитым по категориям. Подскажите пожалуйста, как средствами php я могу импортировать этот *.xml файл в базу данных MySQL, разложив всё в таблицы??
http://ru.php.net/manual/ru/refs.xml.php - вот те несколько библиотек на выбор. Выбирай какая больше нравится - и вперед. Разбирай хмл-файл и заноси в базу.
Либо можешь просто распарсить его, если неохото юзать библиотеки :)
скажите, плз, почему во многих движках, seo-ссылки могут быть включены, только на апаче ? с чем это связано?
скажите, плз, почему во многих движках, seo-ссылки могут быть включены, только на апаче ? с чем это связано?
Тем что апач руководит редиректами(типа 301-306). Обычно прописывается в .htaccess(ну это типа скрипта для апача). Поисковики положительно относятся к таким редиректам.
Не подскажите как сделать метод сложения двух чисел в классе объекта?
<?php
class baseCalc {
var $x = 5;
var $y = 6;
function calculate() {
//Сам метод
}
}
Нужно сложить число "x" и число "y"
[x26]VOLAND
06.10.2008, 06:37
<?php
class baseCalc {
var $x = 5;
var $y = 6;
function calculate()
{
return $this->x + $this->y;
}
}
$this-> - это указатель объекта на самого себя.
PS: имхо ты не доконца понимаешь что такое класс и зачем он.
Почитай это: http://i-novice.net/osnovy-oop/
А ещё не могу понять для чего используется return в функциях...
Ну возврат...но возврат чего к чему? смыст что то возвращать? даче в примере от [x26]VOLAND идёт возврат, но зачем?
Возврат x+y не вижу никакого логического смысла...
HELP! как скрыть показ кода файлов с расширением .tpl ? Когда проходишь по ссылке www.site.ru/temlates/file.tpl - можно увидеть код, вклячая коментарии и т.д. Как скрыть?
В чем проблема?
Используй глобальные переменные.
[x26]VOLAND
06.10.2008, 14:32
Лучше
<Files *.tpl>
order allow,deny
deny from all
</Files>
сорри если не туда пишу.
есть ниспадающий список в котором выводятся эл-ты из БД
посдкажите как реализовать следющую вещь
по клику из списка на какой-либо эл-т чтобы появлялся следующий список...
пока у меня сделано через кнопку(но это не удобно) <input type='hidden' name='prov' value=2>
<input type='submit' name='test' value='View'></form>";
if ($_POST['prov']==2) {
...............
echo "<form action='' method='POST'>
<select name='start1'>"
как можно реализовать все без кнопки?
2 svesve это аякс
если под рукой есть простенький примерчик либо ссылочка скинь плиз буду благодарен!
если под рукой есть простенький примерчик либо ссылочка скинь плиз буду благодарен!
http://www.xakep.ru/post/35903/default.asp
heretic1990
06.10.2008, 18:25
вот надыбал скрипт для сбора мыльников, может кто протестит, а тот у меня он не работает чёто(((
Скрипт собирает email адреса c plati.ru
Вот пример: информация о продавце http://plati.ru/asp/seller.asp?id_s=13561
id продавца 13561, в анкете указан почтовый адрес Csu@polygon.pp.ru
так вот скрипту достаточно указать с какого по какой id собирать адреса.
это делается очень просто, достаточно передать параметр limit=X;Y,
где X-нижняя граница Y-верхняя.
Например вот так: mail.php?limit=1000;2000
В результате работы скрипта будет сформирована html страница на
которой в столбце отображены адреса, удобно очень, без всякой лишней
информации.
<?php
$limit=$HTTP_GET_VARS["limit"];
$limit = split(";",$limit);
if ($limit[0]<=0) $limit[0]=1;
if ($limit[1]==0) $limit[1]=999999;
$s1= " <td width=100% align=\"left\" valign=\"top\" bgcolor=#f8f8f8> <a class=target href=\"mailto:";
$s2= "</a></td>";
$t = "\">";
$file_c = "http://www.exaccess.ru/asp/seller.asp?id_s=";
for ($i=$limit[0]; $i<=$limit[1]; $i++ )
{ $file = $file_c.$i;
$f=file($file);
$str = $f[159];
$str=str_replace($s1,"",$str);
$str=str_replace($s2,"",$str);
$str=split($t,$str);
echo "<b>".$i."</b> ".$str[0]."<br>";
} /**/
?>
Shadow_p1raT
06.10.2008, 18:28
не тестил,времени нет,но
$limit=$HTTP_GET_VARS["limit"];
В таком стиле ещё моя бабушка кодила)))
Mishatko
06.10.2008, 18:38
Объясните, как происходит формирование Cookies при обращении к сайту Vkontakte.ru, в частности на странице авторизации. Вот к примеру на Ачате сервер сам устанавливает куки. А у Контакта я такого не наблюдаю.
Говорю на основании работы с прогой Naviscope.
Я создал HTML документ с формой ввода чисел пользователем и передаю их с помошью POST файлу lost.php который эти 2 числа должен сложить... но что не так? просто пустая страница открывается.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div>
<form action="lost.php" method="post">
<p><input type="text" name="Число1"/></p>
<p><input type="text" name="Число2"/></p>
<p><input type="submit" value="Запрос"/></p>
</form>
</div>
</body>
</html>
и lost.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div>
<?php
$summa;
$summa = $_POST['Число1'] + $_POST['Число2'];
print $summa;
?>
</div>
</body>
</html>
И как можно объеденить это в 1 фаил, а то я пробовал через action="<?php print $server['PHP_SELF']?>" в вызове формы...
У меня не фыходит...
<html>
<head>
<title></title>
</head>
<body>
<div>
<form action="" method="post">
<p><input type="text" name="Число1"/></p>
<p><input type="text" name="Число2"/></p>
<p><input type="submit" value="Запрос"/><p>
<?php
$summa;
$summa = $_POST['Число1'] + $_POST['Число2'];
print $summa;
?>
</form>
</div>
</body>
</html>
<form action="{тут просто,пусто!}" method="post">
DDoSька, хорошо но сумма то не выводится всё равно...
Я вот думаю что мб это у меня с php.ini что-то не то?
Или в коде что-то не так написанно?
Всё должно работать,на локалхосте чего стоит ?
DDoSька, хорошо но сумма то не выводится всё равно...
Я вот думаю что мб это у меня с php.ini что-то не то?
Или в коде что-то не так написанно?
Скрипт потестиил,у меян на локалхосте все работает,я думал с переменными на русском не будет работать...а оказалось все иначе
Всё должно работать,на локалхосте чего стоит ?
Денвер последний с сайта и ПХП 5.2.6 под win32 (просто пихнул всё из архива в WebServers/usr/local/php6)
ЗЫ полное описание денвера Denwer3_Base_2008-01-13_a2.2.4_p5.2.4_m5.0.45_pma2.6.1
тоесть ты просто скачал php 5.2 и кинул его в папку с денвером ?
зря ты так сделал,переустанавливай денвер
если хочешь юзать php 5.2.6,то ставб отдельно php apache
тоесть ты просто скачал php 5.2 и кинул его в папку с денвером ?
зря ты так сделал,переустанавливай денвер
если хочешь юзать php 5.2.6,то ставб отдельно php apache
Я это сделал после того как скрипт поставил...
Тоесть он не запустился...я поставил PHP
Денвер переустановил, проблема не ушла...
ПОпробовал 3 браузера IE Opera Mozila
Во всех если брать пример ДДоСьки то после ввода чисел страница просто обнавляется и передо мной опять 2 пустых поля и кнопка "Запрос" :confused:
Попробуй переменные поменять на английские,хз может покатит
http://www.wampserver.com/en/
http://www.apachefriends.org/en/index.html - xampp
Попробуй переменные поменять на английские,хз может покатит
Нет не помогло... исзменил числа на num1 и num2 а кнопку на GO!
ЗЫ прочитай пост выше (ортедактировал)
Byrger
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div>
<?php
if(isset($_POST['GO']))
exit((int)$_POST['num2'] + (int)$_POST['num1'].'</div></body></html>'); ?>
<form method="post">
<p><input type="text" name="num1"/></p>
<p><input type="text" name="num2"/></p>
<p><input type="submit" name="GO" value="Запрос"/></p>
</form>
</div>
</body>
</html>
-=Static=-
06.10.2008, 22:53
Кто нить, плз, подскажите как мне сделать так, чтоб код выполнялся поэтапно?
Тоесть, например: Отправили запрос, получили ответ, вывели на экран...Потом дальше..
??
Кто нить, плз, подскажите как мне сделать так, чтоб код выполнялся поэтапно?
Тоесть, например: Отправили запрос, получили ответ, вывели на экран...Потом дальше..
??
<?php
send_zapr();
echo 'Запрос отправлен';
flush();
ob_flush(); // ну или наоборот
?>
Блин. ну неужели так сложно взять книжку и прочитать первые 10 страниц хотябы? Это же самые основы.
-=Static=-
07.10.2008, 12:17
nerezus, ты кому и о чем?
и ещё вопросик..
Как сделать вместо + в переменной $summa знак который вводит пользователь в поле "Знак" и чтоб выражение работало...
<html>
<head>
<title></title>
</head>
<body>
<div>
<form action="" method="post">
<p><input type="text" name="Число1"/></p>
<p><input type="text" name="Число2"/></p>
<p><input type="text" name="Знак"/></p>
<p><input type="submit" value="Запрос"/><p>
<?php
$summa;
$num3;
$num3 = $_POST['Знак'];
$summa = $_POST['Число1'] + $_POST['Число2'];
print $summa;
print "<br>";
print $num3;
?>
</form>
</div>
</body>
</html>
ЗЫ rushter спс за WAMPserver
И как ещё сделать чтоб на новой странице отображались эти результаты...А то они у меня под кропкой "Запрос"
-=Static=-
07.10.2008, 12:40
Вот так можно
<?
fucntion calc($znak, $c1, $c2)
{
switch($znak)
{
case "+":
$result = $c1 + $c2;
break;
case "-":
$result = $c1 - $c2;
break;
case "*":
$result = $c1 * $c2;
break;
case "/":
$result = $c1 / $c2;
break;
}
return $result;
}
echo calc($_POST['Знак'], $_POST['Число1']?, $_POST['Число2']);
?>
[x26]VOLAND
07.10.2008, 12:42
Как сделать вместо + в переменной $summa знак который вводит пользователь в поле "Знак" и чтоб выражение работало...
eval("$summa = $_POST['Число1'] ".$_POST['Знак']." $_POST['Число2'];");Это в теории. на практике обязятельно сделай проверку на вводимое значение 'Знак'.
Пример:$signs = array('+', '-', '/', '*');
if (in_array($_POST['знак'], $signs))
{
$sign = $_POST['знак'];
}
eval("$summa = $_POST['Число1'] " . $sign . " $_POST['Число2'];");
ЗЫ: используй латинские индексы - меньше проблем будет. (znak вместо Знак и т.д.)
И как ещё сделать чтоб на новой странице отображались эти результаты...А то они у меня под кропкой "Запрос"Никак, ведь у тебя сначала идёт безусловный вывод HTML а уже потом выполняется php-код. поменяй структуру файла.
Нужен хелп.
Решил написать скрипт, который будет принимать капчу с нужного мне сайта.
Взял сайт [Х].
Стоит защита, напрямую картинку не получить. Получил через сокет с отправкой реферала и т.д..
Такая трабла принимаю данные, приходит картинка. Тупо принятые данные сохраняю в jpg файл. ACDSee читает картинку, другие программы не воспринимают, мне нужно получить полноценную картинку. Решил, что проблема в заголовках (header)
Вопросы:
- Как убрать заголовки
- Как с данных напрямую вывести картинку в php скрипте (content-type: image/jpg) Не помогает.
Может кто занимался подобным. Подскажите ваши решения. Спасибо
~NeiTRoN~
25.10.2008, 12:22
народ возникла проблема, помогите кто может!
Суть проблемы вот в чем:
Есть цмс joomla у ее базы стоит кодировка general1251. Есть компонент(самописный). Так вот когда я экспортирую данные из cvs файла в таблицу компонента, если у таблицы стоит general1251 заносятся тупо ? вместо русских букв.Как быть???
temp_late
25.10.2008, 12:52
если у таблицы стоит general1251 заносятся тупо ? вместо русских букв.Как быть???
Поэксперементируй, попробой смнеить кодировку запросов: например: mysql_query('SET NAMES cp1251');
Или конвертируй текст в нужную кодировку covert_cyr_string();
go2be Если ты получаешь картинку сокетом, то проблема не в лишних заголовках, а как раз в их отсутствии. Посмотри внимательно сниффером, какой запрос посылает браузер за картинкой.
А так, схема приблизительно такая:
<?PHP
function post($url,$content='')
{
//некая функция для удобства запросов
}
post (<урл со страницей, где капча>);
//получили нужные куки, и всю остальную шляпу
file_put_contents('local.jpg',post(<сама капча>));
echo '<img src="local.jpg">';
?>
temp_late
25.10.2008, 12:57
Нужна помощь, немогу понять как правильно нужно перемещать загруженные файлы в папки сайта. Проблемма заключаеться в том что файлы переноситься лишь в директори с правами 0777. Пробовал менять права через chmod(); но они не меняют, может функция устарела, на хостинге php5.
Буду рад любой информации.
Gifts Делал я так. Не воспринимает картинку за картинку =\
Тут видимо трабла в заголовках
------------------------------
Все спасибо разобрался )
Просто взял весь принятый объем в массив. Каждая строка - элемент массива.
Проследил, что заголовки - первые 12 элементов.
Просто начал выводить массив с 12 элемента )
А в header поставил Content-type: image/jpeg
))))
go2be Что то страшное - обычно убивают заголовки, это если не массив а строка, ессесн
$img=preg_replace("#^[\s\S]*?\r\n\r\n#i",'',$img);
temp_late Почитай про разграничение прав в никсах. Апач запущен от пользователя nobody а папки, например, с правами user - естественно ты не сможешь с ними ничего сделать.
spamoney
26.10.2008, 16:30
Всем Добрый День!
Не могли бы Вы мне помочь составить регулярное выражение, я уже обращался с этим вопросом, но видимо не полностью всё объяснил, либо меня не так поняли:
допустим есть текст:
$text="<tr>СЛОВО9<td><a href='#'>СЛОВО1-СЛОВО8</a>СЛОВО1-СЛОВО3-СЛОВО5<strong>СЛОВО1</strong>СЛОВО2</td></tr>"; //Текст абсолютно производный (любой), каждый раз разный
также есть набор ключевых слов через запятую:
$keywords="СЛОВО1, СЛОВО3, СЛОВО8"; //Задаются в самом скрипте
Необходимо, сделать так, что бы каждое ключевое слово в тексте заменялось допустим на одно единственное NEWSLOVO, только в том случае, если оно не заключено в тэги <a></a> и <strong></strong> , т.е исходный текст получится таким:
$text="<tr>СЛОВО9<td><a href='#'>СЛОВО1-СЛОВО8</a>NEWSLOVO-NEWSLOVO-СЛОВО5<strong>СЛОВО1</strong>СЛОВО2</td></tr>";
P.S
Еще один вопрос немного не по теме, очень часто у себя в логе на сайте, в ошибках вижу такое:
200.89.68.125 - - [20/Oct/2008:07:12:03 +0400] "GET //amember/rconfig.inc.php?config%5Broot_dir%5D=http://www.soaresdacosta.pt/readme.txt?? HTTP/1.0" 404 49891 "-" "libwww-perl/5.65"
200.89.68.125 - - [21/Oct/2008:12:34:52 +0400] "GET //modules/Forums/admin/admin_db_utilities.php?phpbb_root_path=http://www.soaresdacosta.pt/readme.txt?? HTTP/1.0" 403 465 "-" "libwww-perl/5.65"
89.111.180.85 - - [21/Oct/2008:12:34:52 +0400] "GET //contacts/?_SERVER[DOCUMENT_ROOT]=http://www.sante.su/images/log.txt??? HTTP/1.0" 404 465 "-" "libwww-perl/5.65"
Кто это или что это пытается сделать с моим сайтом?
И как можно защитится от такого?
Подскажите пожалуйста, как получить страницу с которой пришёл посетитель на данную страницу?
Заранее благодарен!
Подскажите пожалуйста, как получить страницу с которой пришёл посетитель на данную страницу?
Заранее благодарен!
echo $_SERVER["HTTP_REFERER"];
---------------------------------------------------
Еще один вопрос немного не по теме, очень часто у себя в логе на сайте. Кто это или что это пытается сделать с моим сайтом?
И как можно защитится от такого?
Хакеры хотят залить шелл через php-injection...(и возможно заливают)
В php.ini: allow_url_fopen = On на allow_url_fopen = Off
или
В: .htaccess php_flag allow_url_fopen Off
и в каждый скрипт(ну и 'неуязвимый' тоже) в начале вставь код:
<?php
foreach($_GET as $key=>$get_1)
{
$get_1 = str_replace(NULL,'',urldecode($get_1));
$_GET[$key] = $get_1;
if((string)strpos($get_1,'http://')=='0' || (string)strpos($get_1,'php://')=='0' || (string)strpos($get_1,'/')=='0' || (string)strpos($get_1,'\\')=='0')
{
die('haccking attempt');
}
}
?>
Да... и еще: обновись на последнюю версию php_bb
ChaaK, как всегда :)
Большое Спасибо!
---
Возникла проблема с переадресацией:
файл: per.php
<?
echo "<meta http-equiv='refresh' content='3; url='".$_SERVER['HTTP_REFERER']."'>";
?>
Параметр $_SERVER['HTTP_REFERER'] правильно возвращает адрес - реферер, но не тем не менее функция, переадресует на файл per.php, т.е. сам на себя.
Пдскажите, пожалуйста, в чём проблема!? :confused:
ChaaK, спасибо, Я это понимаю.
Специально для того, чтобы проверить, я разместил ссылку на стороне, но увы.
Всё же, В чём может быть проблема? :|
astrologer
26.10.2008, 20:59
OnArs,<?
echo "<meta http-equiv='refresh' content='3; url='".$_SERVER['HTTP_REFERER']."'>";
// ^ Вот этот апостроф надо убрать.
?>
Вот ведь бывает такое :)
Большое Спасибо!
где можно о регулярках поподроьней прочитать ?
rushter,
http://php.ru/manual/reference.pcre.pattern.syntax.html
http://php.ru/manual/reference.pcre.pattern.modifiers.html
Рекомендую, т.к сам по этим ссылкам узнал с чем их едят.
Red_Red1
27.10.2008, 00:57
Бьюсь вторые сутки, помогите разобраться.
Есть такой код
<?php
include('conf_test.php');
function add_f($h)
{
$mysqli=myDB::myDB_getobj();
$stmt = $mysqli->prepare("CALL add_data(?)");
$stmt->bind_param('s',$h);
$stmt->execute();
$stmt->bind_result($add);
$stmt->fetch();
$stmt->close();
return $add;
}
for ($i=0; $i<10; $i++)
echo add_f('3d2295c85e7a167'.$i);
?>
Цикл сделан просто для теста, что бы несколько раз выполнилось с разными параметрами.
Запускаю скрипт все отработало как нужно, жму F5, тоже все впорядке но если еще потыкать F5 то на какой то раз появится ошибка
Fatal error: Call to a member function bind_param() on a non-object in D:\locNet\UsbWebserver\Root\test\indext.php on line 7
Вот какого это все происходит?!?!??
Вот код conf_test.php
<?php
class myDB extends mysqli
{
const DB_HOST = 'localhost';
const DB_LOGIN ='root';
const DB_PASS = '1111';
const DB_NAME = '2';
static private $mysqli_con=null;
static function myDB_getobj()
{
if (self::$mysqli_con == NULL)
{
self::$mysqli_con = new myDB(self::DB_HOST,self::DB_LOGIN,self::DB_PASS,se lf::DB_NAME,3307);
}
return self::$mysqli_con;
}
}
?>
Буду рад хоть какойто помощи.
[x26]VOLAND
27.10.2008, 07:11
где можно о регулярках поподроьней прочитать ?http://s53.radikal.ru/i140/0810/9e/0b7c4e721a86t.jpg (http://radikal.ru/F/s53.radikal.ru/i140/0810/9e/0b7c4e721a86.png.html)
Red_Red1, дай код класса mysqli
2Red_Red1, а чего цикл не правильно указываешь?:
for ($i=0; $i<10; $i++) {
echo add_f('3d2295c85e7a167'.$i);
}
[x26]VOLAND
27.10.2008, 08:36
Ru}{eeZ если в теле цикла один оператор скобки можно не прописывать.
Red_Red1
27.10.2008, 10:08
VOLAND']Red_Red1, дай код класса mysqli
У меня нету этого кода. Это класс библиотеки mysqli , вот описание http://php.su/functions/?cat=mysqli
spamoney
27.10.2008, 10:45
Здравствуйте, такой вопрос: как мне средствами php проверить включена ли у меня на хостинге функция mail(); для отправки писем, т.е допустим проверку на установленные на хосте расширения мы делаем так:
if (extension_loaded('gzip')) {
исполняемый код....
}
как можно также проверять и функцию mail ??
if(mail()){}
if(function_exists("mail")){}
[x26]VOLAND
27.10.2008, 11:36
if(function_exists("mail")){}Тут идёт проверка наличия функции в самом php, но никак не на хосте.
я бы сделал так (если конечно запрет идёт через php.ini):
if (strstr('mail', ini_get('disable_functions'))) { echo 'mail() forbidden'; }
Добрый день. Помогите пожалуйста с регулярочкой. Надо и текста найти все числа которые входят в:
156...<a class=news href='/rus/detail/190335'>П....45
т.е. отсюда должно быть взято число 190335
Заранее спасибо!
Добрый день. Помогите пожалуйста с регулярочкой. Надо и текста найти все числа которые входят в:
156...<a class=news href='/rus/detail/190335'>П....45
т.е. отсюда должно быть взято число 190335
Заранее спасибо!
<?php
$preg="<a class=news href='/rus/detail/190335'>";
preg_match_all("#<a class\=news href\='/rus/detail/([0-9]+)'>#UiS",$preg,$match);
print_r($match);
//все цифры будут лежать в двумерном массиве: $match['1'][сдесь_индексы_найденного]
?>
------------------------------------------------------------
VOLAND']Тут идёт проверка наличия функции в самом php, но никак не на хосте.
я бы сделал так (если конечно запрет идёт через php.ini):
if (strstr('mail', ini_get('disable_functions'))) { echo 'mail() forbidden'; }
<?php
if(function_exists('fopen'))
echo('Функция включена');
?>
Попробуй запусти с выключенной функцией - fopen()
function_exists - возвращает TRUE, если данная функция определена.
В данном случае, php отключенные функции в память не грузит, поэтому их определения не существует. Следовательно мы можем использовать function_exists и для поиска отключенных функций
ChaaK, пасибо. все работает)
VOLAND']Ru}{eeZ если в теле цикла один оператор скобки можно не прописывать.
Спасибо, не знал :)
Здравствуйте. Подскажите пожалуйста, решил попробовать написать
полуавтоматический регер на pochta.ru.
Обнаружил что при отправке формы,
перед параметрами подставляется набор цифр и букв,
вот так например:
ch2c2bb12bb7c7c6bf1c49cbcd0d090ee8=1224674487&id=5c317031db84ed1363a0fd2c85873f5a.......
&from_promo=0&rid=&lng=ru&newmail=&second_name=&first_name=&sure_name=®_login=.............,
что это за параметр, откуда он берется и как его выдернуть,
чтоб потом передать? На странице я его не нашел.
риго, епт поправь сообщение, верстка плывет...
2All.
Подскажите плиз есть массив.
1 - Петя
2 - Вася
3 - Коля
4 - Миша
5 - Равшан
нужно удалить один элемент, и что бы ключи остались теми же. тоесть удаляем значение Вася. далжно получится
1 - Петя
2 - Коля
3 - Миша
4 - Равшан
Если просто удалять unset ом тогда удалится значение и ключ. а мне нужно чтобы ключи всегда шли один за другим....
риго, епт поправь сообщение, верстка плывет...
2All.
Подскажите плиз есть массив.
1 - Петя
2 - Вася
3 - Коля
4 - Миша
5 - Равшан
нужно удалить один элемент, и что бы ключи остались теми же. тоесть удаляем значение Вася. далжно получится
1 - Петя
2 - Коля
3 - Миша
4 - Равшан
Если просто удалять unset ом тогда удалится значение и ключ. а мне нужно чтобы ключи всегда шли один за другим....
Стандартной ф-ции не припомню, самому проектировать :) А-ля удаляешь элемент, а потом проходишся по массиву и выставляешь ключи по порядку=\
[x26]VOLAND
28.10.2008, 10:35
blaga
Например, sort() не сохраняет ключи.
Или просто прогнать в цикле (ключи назначатся автоматически):foreach ($array as $value)
{
$newArray[] = $value;
}
blaga $ar=array('a','b','c','d');
unset($ar[2]);
$ar=array_values($ar);
что за ф-ии
mb_strlen()
mb_strpos()
погуглил про библу ни чо не нашел
[x26]VOLAND
28.10.2008, 14:36
mb_strlen -- Get string length
Description
int mb_strlen ( string str [, string encoding] )
mb_strlen() returns number of characters in string str having character encoding encoding. A multi-byte character is counted as 1.
encoding is character encoding for str. If encoding is omitted, internal character encoding is used.
mb_strpos -- Find position of first occurrence of string in a string
Description
int mb_strpos ( string haystack, string needle [, int offset [, string encoding]] )
mb_strpos() returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns FALSE.
mb_strpos() performs multi-byte safe strpos() operation based on number of characters. needle position is counted from the beginning of the haystack. First character's position is 0. Second character position is 1, and so on.
If encoding is omitted, internal character encoding is used.
offset is search offset. If it is not specified, 0 is used.
encoding is character encoding name. If it is omitted, internal character encoding is used.
...
у меня на денвере пишет что не знает их
mb - MultiByte. Почитать можно здесь (http://ru2.php.net/manual/ru/book.mbstring.php)
Vid0k В файле php.ini убери ; в строке:
;extension=php_mbstring.dll И рестартни апач
Nightmarе
28.10.2008, 16:26
Народ, подскажите как у прямой ссылки например: http://site.ru/lol.mp3 получить точный размер файла не скачивая его на сервер?
Ведь при скачке такого файла размер уже указывается автоматически, думаю возможно его с помощью php получить...
function fsize($path)
{
$fp = fopen($path, 'r');
$inf = stream_get_meta_data($fp);
fclose($fp);
foreach($inf['wrapper_data'] as $v)
if(stristr($v, 'content-length'))
{
$v = explode(':',$v);
return trim($v[1]);
}
}
Joker-jar
28.10.2008, 16:44
Nightmarе, можно послать HTTP-запрос с методом HEAD. Типичный пример:
HEAD /lol.mp3 HTTP/1.0
Connection: Close
User-Agent: Mozilla/4.05 (WinNT; 1)
Host: site.ru
В ответе от сервера анализировать Content-Length
Здравствуйте. Возник такой вопрос:
Как скачать файл с ftp посредством php+cURL?
Здравствуйте. Возник такой вопрос:
Как скачать файл с ftp посредством php+cURL?
<?php
// объявление переменных
$local_file = 'local.zip';
$server_file = 'server.zip';
// установка соединения
$conn_id = ftp_connect($ftp_server);
// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// попытка скачать $server_file и сохранить в $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Произведена запись в $local_file\n";
} else {
echo "Не удалось завершить операцию\n";
}
// закрытие соединения
ftp_close($conn_id);
?>
h_ttp://www.php.su/functions/?ftp-get
Или нет пароля к фтп?
Или нет пароля к фтп?
Нет, пароль есть. Спасибо.
heretic1990
28.10.2008, 22:41
подскажите пожалуйста скрипт удалённой загрузки.
DarkMagic
29.10.2008, 02:50
залил шелл на форум,стал выдавать ошибку
Fatal error: Out of memory (allocated 262144) (tried to allocate 77824 bytes) inадрес шелла
так понимаю не хвотает оперативы,но раньше всё было ок.Как можно исправить?
залил шелл на форум,стал выдавать ошибку
Fatal error: Out of memory (allocated 262144) (tried to allocate 77824 bytes) inадрес шелла
так понимаю не хвотает оперативы,но раньше всё было ок.Как можно исправить?
Ошибка "Fatal error: Out of memory (allocated X)" возникает, если не ошибаюсь, когда самому интерпретатору php не хватает места в оперативке, а не твоему скрипту, и memory_limit к этому отношения не имеет. (При превышении memory_limit возникает ошибка вида "Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)")
Но можно, все же попробывать, добавить в начало проблемного скрипта(шелла) -
ini_set('memory_limit', '128M');
Есть ли у кого-нибудь примеры скрипта, по загрузки файла с компа в нет. Ну к примеру как на форуме загрузка аватара в профиль. Даже не знаю как это можно осуществить.C помощью curl? Любая информация будет полезна.
Есть ли у кого-нибудь примеры скрипта, по загрузки файла с компа в нет. Ну к примеру как на форуме загрузка аватара в профиль. Даже не знаю как это можно осуществить.C помощью curl? Любая информация будет полезна.
h_ttp://www.php.su/phphttp/?uploads
Да уже 100 раз обсуждалось на ачате
h_ttp://forum.antichat.ru/thread77906-%F1%EA%F0%E8%EF%F2+%E7%E0%E3%F0%F3%E7%EA%E8.html
подскажите пожалуйста скрипт удалённой загрузки.
Вот функция, которая ещё и докачку поддерживает.
Была выложена на ачате
function downloadFile($filename, $mimetype='application/octet-stream')
{
$from=$to=0;
$cr=NULL;
if(isset($_SERVER['HTTP_RANGE']))
{
$range=substr($_SERVER['HTTP_RANGE'],strpos($_SERVER['HTTP_RANGE'],'=')+1);
$from=strtok($range,'-');
$to=strtok('/');
if($to>0) $to++;
if($to) $to-=$from;
header('HTTP/1.1 206 Partial Content');
$cr='Content-Range: bytes'.$from.'-'.(($to)?($to.'/'.$to+1):filesize($filename));
}
else
header('HTTP/1.1 200 Ok');
$etag=md5($filename);
$etag=substr($etag, 0, 8).'-'.substr($etag, 8, 7).'-'.substr($etag, 15, 8);
header('ETag: "'.$etag.'"');
header('Accept-Ranges: bytes');
header('Content-Length: '.(filesize($filename)-$to+$from));
if($cr) header($cr); header('Connection: close');
header('Content-Type: '.$mimetype);
header('Last-Modified: '.gmdate('r',filemtime($filename))); $f=fopen($filename, 'r');
header('Content-Disposition: attachment; filename="' . basename($filename) . '";');
if($from)fseek($f,$from,SEEK_SET);
if(!isset($to) or empty($to))
{
$size=filesize($filename)-$from;
}
else
{
$size=$to;
}
$downloaded=0;
while(!feof($f) and !connection_status() and ($downloaded<$size))
{
echo fread($f,512000);
$downloaded+=512000;
flush();
}
fclose($f);
}
подскажите пожалуйста скрипт удалённой загрузки.
<?php
$download = 'http://google.com/1.rar';
$save = '1.rar';
$str= '';
$d = fopen($download,'r');
$s = fopen($save,'w+');
while(!feof($d))
{
$str = fread($d,512);
fputs($s,$str);
}
fclose($d);
fclose($s);
?>
-----------------------------------------------------------------
Есть ли у кого-нибудь примеры скрипта, по загрузки файла с компа в нет. Ну к примеру как на форуме загрузка аватара в профиль. Даже не знаю как это можно осуществить.C помощью curl? Любая информация будет полезна.
Это на свой:
<form action='' method='post' enctype='multipart/form-data'>
<input type='file' name='uploadfile'>
<input type='submit' value='Загрузить'></form>
<?php
// Каталог, в который мы будем принимать файл:
$uploaddir = './files/';
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
// Копируем файл из каталога для временного хранения файлов:
if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
{
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
// Выводим информацию о загруженном файле:
echo "<h3>Информация о загруженном на сервер файле: </h3>";
echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
?>
А если на чужой
<?php
$upload = 'полный путь до файла на компе';
$postdata = array('имя поля на сайте для сохр. файла' => "@".$upload ); //в массиве передашь нужные поля 'имя'=>значение
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'скрипт загрузки');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_exec($ch);
curl_close($ch);
?>
Неужели никто не подскажет, господа гуру? Выделенное красным шрифтом интересует.
Здравствуйте. Подскажите пожалуйста, при отправке формы с http://www.pochta.ru/register/,
перед запросами формы подставляется набор цифр и букв,
вот так например:
ch2c2bb12bb7c7c6bf1c49cbcd0d090ee8=1224674487&id=5c317031db84ed1363a0fd2c85873f5a.......
&from_promo=0&rid=&lng=ru&newmail=&second_name=&first_name=&sure_name=®_login=.............,
что это за параметр, откуда он берется и как его выдернуть,
чтоб потом передать своим скриптом? На странице я его не нашел.
Неужели никто не подскажет, господа гуру? Выделенное красным шрифтом интересует.
Скорее всего это md5 hash чего-нибудь и он генерируется JavaScriptом. Если его нет на странице, то его не может быть и в запросе =) Логично?
Неужели никто не подскажет, господа гуру? Выделенное красным шрифтом интересует.
короче есть там такой файлик(генерируеться скорее на лету)
checker.js,
<script src="/js/checker.js?rnd=1225268668"></script>
его содержимое
eval(unescape("%76%61%72%20%63%68%20%3d%20%24%28%22%72%65%67%66%6 f%72%6d%22%29%3b%76%61%72%20%73%20%3d%20%64%6f%63% 75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65 %6e%74%28%22%69%6e%70%75%74%22%29%3b%73%2e%73%65%7 4%41%74%74%72%69%62%75%74%65%28%22%74%79%70%65%22% 2c%20%22%68%69%64%64%65%6e%22%29%3b%73%2e%73%65%74 %41%74%74%72%69%62%75%74%65%28%22%6e%61%6d%65%22%2 c%20%22%63%68%31%36%34%65%66%31%61%61%31%31%61%30% 35%36%62%64%33%30%37%32%61%61%33%64%38%36%33%61%66 %39%32%65%22%29%3b%73%2e%73%65%74%41%74%74%72%69%6 2%75%74%65%28%22%76%61%6c%75%65%22%2c%20%22%31%32% 32%35%32%38%39%35%38%31%22%29%3b%63%68%2e%61%70%70 %65%6e%64%43%68%69%6c%64%28%73%29%3b"));
что означает
var ch = $("regform");var s = document.createElement("input");s.setAttribute("type", "hidden");s.setAttribute("name", "ch164ef1aa11a056bd3072aa3d863af92e");s.setAttribute("value", "1225289581");ch.appendChild(s);
Вот отсюда параметр в форме и береться
короче есть там такой файлик(генерируеться скорее на лету)
checker.js,
<script src="/js/checker.js?rnd=1225268668"></script>
его содержимое
eval(unescape("%76%61%72%20%63%68%20%3d%20%24%28%22%72%65%67%66%6 f%72%6d%22%29%3b%76%61%72%20%73%20%3d%20%64%6f%63% 75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65 %6e%74%28%22%69%6e%70%75%74%22%29%3b%73%2e%73%65%7 4%41%74%74%72%69%62%75%74%65%28%22%74%79%70%65%22% 2c%20%22%68%69%64%64%65%6e%22%29%3b%73%2e%73%65%74 %41%74%74%72%69%62%75%74%65%28%22%6e%61%6d%65%22%2 c%20%22%63%68%31%36%34%65%66%31%61%61%31%31%61%30% 35%36%62%64%33%30%37%32%61%61%33%64%38%36%33%61%66 %39%32%65%22%29%3b%73%2e%73%65%74%41%74%74%72%69%6 2%75%74%65%28%22%76%61%6c%75%65%22%2c%20%22%31%32% 32%35%32%38%39%35%38%31%22%29%3b%63%68%2e%61%70%70 %65%6e%64%43%68%69%6c%64%28%73%29%3b"));
что означает
var ch = $("regform");var s = document.createElement("input");s.setAttribute("type", "hidden");s.setAttribute("name", "ch164ef1aa11a056bd3072aa3d863af92e");s.setAttribute("value", "1225289581");ch.appendChild(s);
Вот отсюда параметр в форме и береться
Предполагал что это отсюда берется, а как ты получил его содержимое?
Предполагал что это отсюда берется, а как ты получил его содержимое?
На странице регистрации, жми ctrl+s (сохраняешь страничку) и смотришь в папочке к этой страничке, фалик change.html
На странице регистрации, жми ctrl+s (сохраняешь страничку) и смотришь в папочке к этой страничке, фалик change.html
Ясно, спасибо. Я сохранял страницу с помощью IE7, этот файл был пустой. Сейчас мозиллой сохранил, есть содержимое.
помогите с регуляркой
xyy icq(ot6-do9znakov) Имя Фамилия
x - число
y - буква
помогите с регуляркой
xyy icq(ot6-do9znakov) Имя Фамилия
x - число
y - буква
<?php
$str = 'xyy icq(ot6-do9znakov) Имя Фамилия';
preg_match('#^([0-9a-z]{3}) icq\((.*?)\) (.*?) (.*?)$#i',$str,$match);
print_r($match);
?>
хз че тебе надо =)
подскажите, пожалуйста, как проверить наличие файла по http адресу?
там ведь использование http протокола будет, хз, как с ним работать. нашел только проверку в каталоге.
404 ошибку в заголовках ищи..
[x26]VOLAND
30.10.2008, 03:37
подскажите, пожалуйста, как проверить наличие файла по http адресу?
там ведь использование http протокола будет, хз, как с ним работать. нашел только проверку в каталоге.fopen('http://site/file.ext');
Вернёт true или false
vikseriq
30.10.2008, 17:11
Это почему? Если нет - то TRUE, так как 404
[x26]VOLAND
30.10.2008, 18:59
404 - это код ошибки http-хидера. fopen тут непричём.
if(fopen("http://сайт/несуществующий_файл.txt", "r"))
{
echo 'true';
}
else
{
echo 'false';
}Вернёт false
winstrool
01.11.2008, 11:25
Народ подскажите пожалуйста как можно реализовать поиск катологов и файлов?
Еще один раз повторюсь с вопросом.. Люди выложите если у кого есть скрипт загрузки картинки на сервер. Советовали этот код
<form method=post enctype=multipart/form-data>
<input type=file name=uploadfile>
<input type=submit value=Загрузить></form>
<?php
// Каталог, в который мы будем принимать файл:
$uploaddir = './files/';
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
// Копируем файл из каталога для временного хранения файлов:
if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
{
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
// Выводим информацию о загруженном файле:
echo "<h3>Информация о загруженном на сервер файле: </h3>";
echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
?>
Но не работает. права на папку как и положено 777 ставлю, в php.ini прописаны строки
file_uploads=On
upoad_tmp_dir=/tmp
upload_max_filesize=2M
Ошибки есть? Код взуально правильный.
Еще один раз повторюсь с вопросом.. Люди выложите если у кого есть скрипт загрузки картинки на сервер. Советовали этот код
.....
Но не работает. права на папку как и положено 777 ставлю, в php.ini прописаны строки
file_uploads=On
upoad_tmp_dir=/tmp
upload_max_filesize=2M
Вот попробуй использовать вот это Images.class (http://www.verot.net/php_class_upload_samples.htm)
Не получается..Самое обидное что никаких ошибок не вылетает..(((
а у тебя в папке со скриптом папка "files" есть ? error_reporting(E_ALL) пробовал? мож хоть чёнить выплюнет...
winstrool
01.11.2008, 16:18
вот, я на этой страници выкладывал скриптик по загрузки фалов на сервер, в примере какраз было адоптировано под изображения
http://forum.antichat.ru/threadnav65761-46-10.html
У тебя чтото с веб сервером видимо. Данный скрипт загружает файлы любого типа/формата
Файл успешно загружен на сервер
Информация о загруженном на сервер файле:
Оригинальное имя загруженного файла: 03082008166.jpg
Mime-тип загруженного файла: image/jpeg
Размер загруженного файла в байтах: 452737
Временное имя файла: C:\WINDOWS\TEMP\phpD79.tmp
Вопрос.как можно сохранить фото, загруженное из интернета...
Я воплотил так.
if(isset($_POST['sub2']))
{
$url=trim($_POST['url']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$result = curl_exec($ch);
curl_close($ch);
$good = fopen("./_gallery/".rand(1,99999999999999999).".jpg", "w");
fwrite($good, $result);
fclose($good);
}
Но.. картинка загружается, а при открытии не отображается..
Zircool curl_setopt($ch, CURLOPT_HEADER, FALSE);
.:EnoT:. Попробуйте скачать с таким хтакссесом
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule .(jpg|gif|png|css|mov|swf|dcr|exe|rar|avi|vob|zip) $ - [F]
Добрый вечер. Подскажите, есть ли у кого-нибудь пример скрипта разбития большого текста на несколько страниц, с использованием .htaccess
vikseriq
02.11.2008, 19:57
Это невозможно. одним хтассессом ничего не сделаешь.
heretic1990
02.11.2008, 23:33
Меня интересует, есть ли пркси чекер который будит работать на фри хосте?
P.S. спасибо за внимание.
heretic1990
03.11.2008, 00:44
конечно есть,поищи...
искал, искал да ненашол(( вот и решил здесь спросить!
Как можно подсчитать, сколько раз повторяется символ в тексте, не используя preg_match_all ?
вот тебе ещё способ
<?php
$c = 'a';
$b = explode('a',$c);
echo count($b)-1;
?>
Red_Red1
03.11.2008, 03:54
2 Zircool
может это поможет
http://php.su/functions/?count-chars
Вот примерный код
<?php
$text ='Привет Мир,
ты прекрасен!!!
И даже более того :)';
$a=count_chars($text);
echo 'символ "е" входит в текст - '.$a[ord('е')].' раз';
?>
.::BARS::.
03.11.2008, 07:06
Подскажите пример навигации, должно бы так
показывает ссылки на первые 3 стр потом .... и на последние 3 стр.
а то у меня показывает ссылки на все страницы, а это захламлят.
вот код мой
if($number){
$cstart = 1;
$count_all = $comments_num;
$pages_count = @ceil($count_all/$number);
$pages_start_from = 1;
$pages = "";
for($j=1;$j<=$pages_count;$j++)
{
if($pages_start_from != $cstart)
{
$pages .= "<a href=\"".$link_page.$j.",".$news_name.".html\">$j</a> ";
}
else
{
$pages .= " [$j] ";
}
$pages_start_from ++;
}
}
на выходе 12345[6]789 и так далее - это к примеру мы на 6 странице.
надо 12[3]...987 вот типа того
.::BARS::.
03.11.2008, 11:55
Сам решил все!!!!!
Buffalon
03.11.2008, 15:55
Плиз дайте кто нибудь похожий скрипт что бы допустим пароль и всё остальное сам заполнял, а выводил только капчу/
Реально ли в пыхе делать перегрузку операторов как в C++?
К примеру чтобы вывести массив достаточно написать:
А зачем это нужно?
PEPSICOLA
03.11.2008, 22:03
Скажите мэны, а многомерные массивы вообще актуальны? Ими пользуются? К примеру если юзаешь СУРБД, стоит ли особое внимание уделять многомерным массивам или лучше не связываться с ними что бы не путаться? :)
Скажите мэны, а многомерные массивы вообще актуальны? Ими пользуются? К примеру если юзаешь СУРБД, стоит ли особое внимание уделять многомерным массивам или лучше не связываться с ними что бы не путаться? :)
Удобно...я юзаю,но редко приходиться
ЗЫ?удобно и мне нравиться))
PEPSICOLA
03.11.2008, 22:30
Удобно...я юзаю,но редко приходиться
ЗЫ?удобно и мне нравиться))
вместе с базами данных? :) ну приведи пример хотя бы один. Именно пользу использования многомерных массивов и хранением инфы в б.д.
что типа так выходит именно лучше и удобней чем иначе...
я сколько думал ситуаций - ну понятия не имею, в чем их польза :D
Так, если можешь, в двух словах намекни - а я додумаю ;)
вместе с базами данных? :) ну приведи пример хотя бы один. Именно пользу использования многомерных массивов и хранением инфы в б.д.
что типа так выходит именно лучше и удобней чем иначе...
я сколько думал ситуаций - ну понятия не имею, в чем их польза :D
Так, если можешь, в двух словах намекни - а я додумаю ;)
ну че там придумывать?)))
$client[1][25]
Там селект
Я обычно с HTML так мудрю
$color[body][red]....итд....масса примеров...
вместе с базами данных? :) ну приведи пример хотя бы один. Именно пользу использования многомерных массивов и хранением инфы в б.д.
что типа так выходит именно лучше и удобней чем иначе...
я сколько думал ситуаций - ну понятия не имею, в чем их польза :D
Так, если можешь, в двух словах намекни - а я додумаю ;)
Ну смотри допустим ты извлек трех юзеров. И у каждого(id юзера свои параметры).
Тогда массив примет вид:
$user[id]-> {
[friends] -> [id1]
[id2]
[reputation]->200
[win] -> false
}
Потом очень удобно обращаться:
echo user[id][reputation]; //выведет репутацию юзера с опр. id
Следовательно появляется какаято структура, к которой ты можешь постоянно обращаться
.:EnoT:.
03.11.2008, 22:38
PEPSICOLA
Массивы это вообще удобно))
Но всё зависит от того чего ты хочешь хранить в этих массивах....к примеру иногда бывает удобно хранить в массивах кучу данных полученных из mysql.
банальный пример:
<?php
$arr = array(
'news' => mysql_fetch_array($news),
'articles' => mysql_fetch_array($articles),
'cho_to_tam' => mysql_fetch_array($cho_to_tam));
?>
А с выборкой...ну не знаю какие могут быть проблемы...просто проходишь циклом как по обычному массиву. Соответственно если нужно вывести всё что есть, то нужно сделать несколько циклов или написать к примеру рекурсивную функцию...
PEPSICOLA
03.11.2008, 23:09
Понял - Спасибо Дыдоська! Спасибо Чак Норис!!, Спасибо ЕНоТ!!
<?php
$auth = "loginass";
?>
А индексе: include "base.php";
А если поролей много?
Мб лучше <? die(); ?>, а далее список хранить?
.:EnoT:.
04.11.2008, 00:54
UnPazz
.htaccess
<Files base.php>
order allow,deny
deny from all
</Files>
Red_Red1
04.11.2008, 00:57
В индексе пишешь
define("DOSTUP", TRUE);
....
Тут остальной код который нужно
В тех файлах которые закрываешь от просмотра должно быть это
if(!defined("DOSTUP")) die;
...
дальше код который надо
___________________________
Придумал не я. Взято когда то вот из этой статьи (или подобной)
http://www.softtime.ru/info/articlephp.php?id_article=34
.:EnoT:.
04.11.2008, 01:04
вообще не понимаю смысл хранить данные в php файле)
а если он захочет почистить весь файл предположим? Тогда все константы, die() и прочее наркоманство тоже улетит...имхо с .htaccess всё намного проще :)
добавлено))
При использовании file() первой строкой будет php-код в а не логин/пароль)
Даёшь .htaccess народу!! :D
UnPazz
1)Юзай .htaccess - это 100% рациональнее ченм die() итд
2)Старайся использовать БД,А не php....(я думаю , эт оуже устарело,ИМХО)
Red_Red1
Как сказал Енот, это глупо...
ЗЫ:Слушайте Chaak`а и Enot`а , они то уж точно не быдло-кодеры =)
-----
Red_Red1 , я не хотел тебя как-либ обижать,просто имел ввиду, что Чак и Енот - гарант качества)
Red_Red1 я бы не назвал тебя быдло-кодером ;)
UnPazz, Total Commander'ом можно.
.:EnoT:.
04.11.2008, 18:23
чёзабред?
любым редактором или тем же блокнотом жмём "сохранить как" и сохраняем под именем .htaccess и винда и хостеры тут не при чём
Есть база mycms, в ней подбаза admin.
Вот вопрос, к базе mycms подключаюсь норм, mysql_select_db("mycms") а как поключиться к подбазе admin?
.:EnoT:.
04.11.2008, 18:55
что значит подбаза? может ты имеешь ввиду таблицу admin?
vikseriq
04.11.2008, 19:00
В sql запросе пиши эту "подбазу" - "SELECT * FORM `admin` WHERE 1", напр )
Есть база mycms, в ней подбаза admin.
Вот вопрос, к базе mycms подключаюсь норм, а как поключиться к подбазе admin?
Я бы посоветовал тебе пройти курс Евгения Попова...Помогло бы сразу.И таких бы вопросов не возникало.Для твоего уровня, он как раз по силе будет!
.:EnoT:.
04.11.2008, 19:09
Я бы посоветовал тебе пройти курс Евгения Попова...Помогло бы сразу.И таких бы вопросов не возникало
вот как раз таки это я бы и не советовал))
Такую пургу гонит мужик)
он такую чушь пишет. Нужно знать алгоритмы, а синтаксис любого языка приложится =)
Да хз ...если бы ты его помсотрел...то понял синтаксис так,что у тебя вопросов не вызывало.Посмотрев его, ты бы сейчас не спрашивал такие простые вопросы ;)
ЗЫ: Там видео, а ты гоовришь :" Он такую чушь пишет" ))
Енот, ну для тебя может..я тож смотрел,так же показалось, но "новички" в пыхе,хорошо откдивкаються о видео....там же на пальцах все объясняют :)
ЗЫ:Енот,тебе уж точно не советую его смотреть,А то аж накинулся на меня...мол гамно-гамно :)
Нужно знать алгоритмы, а синтаксис любого языка приложится =)
Чтобы знать алгоритм,нужно знать и синтаксис, а как я вижу у тебя его нет :eek: .Посмотри видео...если инетпозволяет выкачать 2 гб.... =)
.:EnoT:.
04.11.2008, 19:55
DDoSька
Я смотрел, поэтому и делаю выводы))
синтаксис да, но вот что касается безопасности это ужас...а ведь посмотрев эти уроки новички начнут писать скрипты аля
mysql_query("SELECT * FROM `blabla` WHERE `id` = '$_GET['id']'");
вооот)
DDoSька
Я смотрел, поэтому и делаю выводы))
синтаксис да, но вот что касается безопасности это ужас...а ведь посмотрев эти уроки новички начнут писать скрипты аля
mysql_query("SELECT * FROM `blabla` WHERE `id` = '$_GET['id']'");
вооот)
Ты мыслишь как профессионал,а мы говорим о новичках же...
Пускай новичек хоть научиться создавать запросы из базы...А потом уже подумывает о безопасности
ЗЫ:Я Видел какая там капча: просто тупая картинка, которая ничего не спасает... :))
Ну ведь,там так все разжеванно, что ,я думаю, для новичка в самый раз.Ведь ты тоже не начинал сразу кодить скрипты с безопасностью,согласись?=)
Эти уроки расчитаны на новичков....я не имел ввиду,что нужно каждому сейчас сесть и пересмотреть его )
Под подбазой имел ввиду таблицу)))) теперь определился с определениями.
вот запрос к таблице (как её назвал "подбаза") : $q = mysql_query ("SELECT * FROM admin");
Под подбазой имел ввиду таблицу)))) теперь определился с определениями.
вот запрос к таблице (как её назвал "подбаза") :
Еле датумкал...а говоришь,что еще смотрел "Евгешку Попова" ;)
UnPazz Запрос и запрос, что хотел то?
DDoSька Ммм, почем берете за рекламу, мне бы пригодился такой флудер, как вы
Gifts, это ответ на сообщение 6023
DDosька, спасибо за отзывчивость, но мне хватит php.su .
Кстати, авторизацию написал. Вот часть кода :
этот код перебирает всю таблицу на соответствие введенных логина/пароля и хранимых в этой таблице логина и пароля.
Вот вопрос, а как осуществлять перебор если будет >1000 пользователей, скрипт будет грузиться долго ведь??
Непонятно написал быстродействующий код или нет =)
впиши рандом функцию к регалке, по нему перебирать быстрее чем так ,
function prand($pass){
$l = rand(rand(1, 5), strlen($pass)) // 4 - минимальная длина пароля
$xs = array("0", "1", "2", "4"); // список возможных значений
return $l, $xs;
}
UnPazz
Во-первых - цикл for будет каждую итерацию считать количество строк полученых из запроса. Поэтому надо всегда ДО цикла посчитать количество элементов, а потом использовать просто переменную.
Во-вторых, функция mysql_fetch_array и ей подобные разбирает строку и переводит внутренний указатель на следующую строку, то есть достаточно:
while ($f=mysql_fetch_array($table))
{
if ( ($f[login]==$_POST['login']) && ($f[pass]==$_POST['password']) ) header ("Location: admin.php");
}
Ну и наконец - чем брать всю таблицу и ста тыщ мильенов элементов дешевле - сделать нормальный запрос к БД
if (!preg_match('#[a-zA-Z0-9\_]{4,16}#',$_POST['login']) || !preg_match('#[a-zA-Z0-9\_]{4,16}#',$_POST['password'])) die();
$table=mysql_query("SELECT * FROM table WHERE user='".$_POST['login']."' AND password='".$_POST['password']."'");
if (mysql_num_rows($table)!=0) {header ("Location: admin.php");}
else {die('Неправильный логин/пароль');}
PHPoozy оО, ты это к чему?
[x26]VOLAND
05.11.2008, 09:39
Gifts Где die() после header()? Это плохой тон...
Как сделать Gzip сжатие, и отображение времени генрации страницы.
Red_Red1
05.11.2008, 12:21
Сжатие вот тут почитай
http://php.su/functions/?cat=zlib
Время вот можно так
//Засекаем время
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;
ТУТ наш код
//Выводим
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$tend = $mtime;
$totaltime = ceil(($tend - $tstart)*10000)/10000;
$time='Страница сгенерирована за '.$totaltime.' секунд.';
Добрый день. Подскажите пожалуйста как реализовать следующее:
есть скрипт, где обрабатывается цикл операций n-ое кол-во раз. Так вот, как сделать так, чтобы это число n задавалось пользователем не в скрипте, а на самой странице?
Заранее спасибо.
<form method="post" action="script.php">
<input name="var" type="text" value="1">
<input type="submit" value="send">
</form>
<?php
$var = $_POST['var'];
for($i = 0; $i <= $var; $i++){
print("SEX!</b>\n");
}
?>
а так чтобы это в одном файле было можно сделать?
скопируй все это в файл script.php
пробовал, он после ввода числа сразу же начинает снова запрашивать число
<?php
if(empty($_POST['var'])){
?>
<form method="post" action="script.php">
<input name="var" type="text" value="1">
<input type="submit" value="send">
</form>
<?php
}else{
$var = $_POST['var'];
for($i = 0; $i <= $var; $i++){
print("SEX!</b>\n");
}
}
?>
аха. работает, спс. кстати первый вариант тоже работает, то у меня маленькая ошибочка была.
Еще раз пасибо.
подскажите из за чего может не работать rewrite в .htaccess в нем прописаны rewrit'ы которые необходимы для работы моей админки, дома стоит сервер XAMPP на нем все работало , перенес на хостинг nic.ru там не работает, модуль rewrite включен , чо за фигня не могу понять(
Buffalon
05.11.2008, 16:40
Народ немогу сделать прокрутку страниц у меня вот чо получается .,
http://localhost/987.php?page=2?page=2?page=2?page=2
ВОт такой код
while($stage>$b++)
{eho '<a href='.$_SERVER[HTTP_REFERER].'?page='.$b.'>'.$b.'</a>';}
В $stage всего страниц
while($stage>$b++)
{print('<a href='.$_SERVER['PHP_SELF'].'?page='.$b.'>'.$b.'</a>');}
P.S.: пайтон :D
Buffalon
05.11.2008, 17:09
while($stage>$b++)
{print('<a href='.$_SERVER['PHP_SELF'].'?page='.$b.'>'.$b.'</a>');}
P.S.: пайтон :D
Что то невижу логики, а во вторых он невыполняется... .
Какая разница , print_r , var_dump ????echo/
print_r(array["a", "b", "c", "abc - это круто!"]);
// выводит 0 => a, 1 => b, 2 => c, 3 => abc - это круто!
print("ABC");
// ABC
echo("БЭЙСИК!!!");
// БЭЙСИК!!!
var_dump(array["a", "b", "c", "abc - это круто!"]);
// 0 => stringnch a, 1 => stringnch b, 2 => stringnch c, 3 => stringnch abc - это круто!
[x26]VOLAND
05.11.2008, 17:25
<form method="post" action="script.php"> замени на :
<form method="post" action="<?php echo $PHP_SELF ;?>">Мдя. Если форма ссылается на свой же файл, зачем вообе action? )
Buffalon
05.11.2008, 17:28
Ещо один!!!! Умник
Вот так вправильно
<form method="post" action="script.php"> замени на :
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Вообще то в массиве $_SЕRVER всё храниться
Удобнее и правильнее первое, так как регистр глобалс везде давно офф.
Не надо учиться не правильно, учись сразу правильно мой тебе совет. В 6ой версии пхп вообще это должны убрать, придется переучиваться, так что учи сразу правильно:-)
++Norton++
06.11.2008, 03:06
Поддерживаю Zedi, правильно говорит. Сейчас, наверное, даже ни одного хостинга не осталось, где регистер глобалс = ON.
.:EnoT:.
06.11.2008, 03:26
b3
если ты начал учить php вчера, да ещё и по книжке выпуска времён царя гороха...то да, вариант $PHP_SELF вполне прокатит.
вообще тебе следует задуматься над тем что php следует изучать с чего-нибудь более простого нежели суперглобальные массивы.
Вопрос по .htaccess
Нужно сделать редирект с адреса http://www.site.ru на http://www.site.ru/forum/
Наоборот получается сделать, а как надо - нет... Помогите.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot