Просмотр полной версии : [php] Новичкам: задаем вопросы
ANTIJABBER
13.01.2009, 00:49
спасибо, только не доперло(( вот смотрите...
str_replace(" ","+",$text_search);
$text_search = $_POST['text_form'];
<form action="" method="post">
<input type="text" size="100" maxlength="100" name="text_form" /> <input type="submit" value="Получить ссылки!" name="GO" />
</form>
надо что бы скрипт выдавал уже со знаком.. если есть пробел( плз помогите
брр,ты имееш ввиду,чтобы в онлайн режиме - человек вводит,и все пробелы в тексте заменяють + ? Он-лайн? это уже ява.
AkyHa_MaTaTa
13.01.2009, 01:03
$text_search =!empty($_POST['text_form']) ? str_replace(" ","+",@$_POST['text_form']) : '' ;
<form action="" method="post">
<input type="text" size="100" maxlength="100" name="text_form" /> <input type="submit" value="Получить ссылки!" name="GO" />
</form>
JS:
<html>
<SCRIPT LANGUAGE="JavaScript">
function filterNum(str) {
return str.replace(" ", "+");
}
</script>
<center>
<form>
Счет: <input type=text name=amount size=30 value="$1,234,567.99" onBlur="this.form.amount.value=filterNum(this.form.amount. value);"><br>
<input type=button value="OK">
</form>
</center>
</html>
ANTIJABBER
13.01.2009, 01:08
спасибо, огромное =)
Galon999
13.01.2009, 10:19
помогите с php кодом разобраться есть сайт под названием http://bogomol.net/incom/
в нем можно анонимно отправлять письма на почту мне нужен такой примерно код страницы тока чтоб отправлять письма можно было в html формате
кто может помочь
помогите с php кодом разобраться есть сайт под названием http://bogomol.net/incom/
в нем можно анонимно отправлять письма на почту мне нужен такой примерно код страницы тока чтоб отправлять письма можно было в html формате
кто может помочь
http://forum.antichat.ru/thread94290.html
ANTIJABBER
13.01.2009, 10:56
Если отправлять методом GET то в браузерной строке такая ерунда: %CF%EE%EB%F3%F7%E8%F2%FC
как сделать что бы было слово, вместо этого...
ANTIJABBER
13.01.2009, 13:40
спасибо =) А можно реализовать такую штуку. допустим есть форма, текстовое поле, и кнопка. у нас это поиск, текста... но нужна доп. функция... допустим определение PR сайта. вводим "/pr_site: www.antichat.ru - и вместо стандартного поиска идет идет рисунок с PR. ну это так наглядный пример... если можно то каким образом... заранее спасибо за помощь =)
спасибо =) А можно реализовать такую штуку. допустим есть форма, текстовое поле, и кнопка. у нас это поиск, текста... но нужна доп. функция... допустим определение PR сайта. вводим "/pr_site: www.antichat.ru - и вместо стандартного поиска идет идет рисунок с PR. ну это так наглядный пример... если можно то каким образом... заранее спасибо за помощь =)
на стороне клиента или на сервере?
ANTIJABBER
13.01.2009, 14:02
на стороне клиента, спасибо я уже догадался =)
ANTIJABBER
13.01.2009, 14:05
и еще... как вывести URL страницы, после выполнения GET запроса?
Joker-jar
13.01.2009, 14:19
ANTIJABBER, phpinfo()
ANTIJABBER
13.01.2009, 14:35
ANTIJABBER, phpinfo()
спасибо! $_SERVER[QUERY_STRING]
Спасибо всем за помощь... обещаю буду каждый день спрашивать :D
groundhog
13.01.2009, 14:59
Квери стринг выводит параметры запроса а не урл
ANTIJABBER
13.01.2009, 15:21
он мне и нужен был
здравствуйте, у когго-нибудь
есть что-нить подобное?
http://sapehelp.ru/tools/noindex-generator/
Помогите плиз...я пишу скрипт для покупки в интернет магазине и после выбора товара мне нужно сделать подтверждение товара....
проблема в том что странице подтверждения товара приходят переменные со знацениями 1 или 0
1 значит пользователь выбрал этот товар, имя переменной сам товар.
Проблема в том что имя товара $buyitem1-999
А в БД просто id со значениями 1-999
Мне нужно както достать это ИД из имени товара и сделать запрос в БД...чтоб достать картинку,цену и описание товара.
Помогите плиз...я пишу скрипт для покупки в интернет магазине и после выбора товара мне нужно сделать подтверждение товара....
проблема в том что странице подтверждения товара приходят переменные со знацениями 1 или 0
1 значит пользователь выбрал этот товар, имя переменной сам товар.
Проблема в том что имя товара $buyitem1-999
А в БД просто id со значениями 1-999
Мне нужно както достать это ИД из имени товара и сделать запрос в БД...чтоб достать картинку,цену и описание товара.
Делаешь запрос
mysql_query("SELECT * FROM имя таблицы WHERE id='$buyitem' ");
Делаешь запрос
mysql_query("SELECT * FROM имя таблицы WHERE id='$buyitem' ");
Так и знал что неправильно поймёте...
Есть страница выбора товара...у товара скрытое поле с именем Buyitem1, Buyitem2, Buyitem3....
после выбора товара следуйщий этап "подтвечждение" ему переходят поля Buyitem1-999 со значением 1 (1 что значит товар выбран покупателем)
А в БД товары с ID 1-999, дак нужно из допустим переменной $buyitem32=1 достать вот эти цифры 32 которые и есть ID товара.
Проще говоря, нужно заставить PHP прочитать конец имени переменной Buyitem1-999
Joker-jar
13.01.2009, 17:28
по циклу проверяй
for ($i = 1; $i < 999; $i++)
if (isset($_POST['Byitem'.$i]))
Хотя, странная реализация
Так и знал что неправильно поймёте...
Есть страница выбора товара...у товара скрытое поле с именем Buyitem1, Buyitem2, Buyitem3....
после выбора товара следуйщий этап "подтвечждение" ему переходят поля Buyitem1-999 со значением 1 (1 что значит товар выбран покупателем)
А в БД товары с ID 1-999, дак нужно из допустим переменной $buyitem32=1 достать вот эти цифры 32 которые и есть ID товара.
тогда примерно так:
$id=pregmatch("выдираешь числовое значение из пременой $buyitem32");
mysql_query("SELECT * FROM имя таблицы WHERE id='$id' ");
и вобще сделай новую переименую к примеру $a у которой будет значение 0-1 а в переименую $buyitem32
присваиваи конец 32 а потом запрос как я показал!!
Опять не то что-то вот смотрите на сайте _https://billing.adenazone.ru/pricelist.php?step=2&server=14
Выбираешь товар и после нажатия продолжить улетают это Buyitem...
Напишите простой сниффер и в форме замените чтоб посмотреть что выдают эта страница
print_r ($_REQUEST);
повторюсь: Проще говоря, нужно заставить PHP прочитать конец имени переменной Buyitem1-999
Эти самые 1-999...это и есть id а значение переменной мне не важно
Опять не то что-то вот смотрите на сайте _https://billing.adenazone.ru/pricelist.php?step=2&server=14
Выбираешь товар и после нажатия продолжить улетают это Buyitem...
Напишите простой сниффер и в форме замените чтоб посмотреть что выдают эта страница
повторюсь: Проще говоря, нужно заставить PHP прочитать конец имени переменной Buyitem1-999
Эти самые 1-999...это и есть id а значение переменной мне не важно
после кода подтверждения на след страницы когда ты передал значение Buyitem=0-1 использовал его создай отдельную переменую которая будет иметь значения 32 и присвой его Buyitem32! если спросишь как узнать именно этот товар или нет присвой каждому товару переменую от 1-999 или масив
Byrger Передавать массив - не модно что ли?
<pre><form method="post">
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="1"> Раз
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="2"> Два
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="3"> Три
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="4"> Четыре
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="5"> Пять
<INPUT TYPE=submit VALUE="Отправить">
</form>
<?php
print_r($_POST['buyitem']);
?>
foreach($_POST as $a=>$b) {
if(strpos($a,'buyitem')!==false) echo substr($a,7)."\n";
}
Byrger Передавать массив - не модно что ли?
<pre><form method="post">
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="1"> Раз
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="2"> Два
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="3"> Три
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="4"> Четыре
<INPUT TYPE=checkbox NAME="buyitem[]" VALUE="5"> Пять
<INPUT TYPE=submit VALUE="Отправить">
</form>
<?php
print_r($_POST['buyitem']);
?>
у него же товар как то выводится из базы по идеи в он должен выводится из базы в цикле создать там переменую к примеру $j и сделать ее $j++ вот и переменая с id! А потом передовать её скрытой форме туда где нужно вывести товар:
mysql_query("SELECT * FROM имя таблицы WHERE id='$j' ");
geforce, ты за**ал фигню левую писать
Вот зловредная функция в JS из-за которой я не погу сделать переменную Buyitem32 просто в 32
function ItemLine(checkbox, text, hidden)
{
buy = eval("document.pay." + hidden);
if(buy.value==""){
document.getElementById(checkbox).style.color = 'lime';
document.getElementById(checkbox).innerText = '+';
document.getElementById(text).style.fontWeight = 'bold';
document.getElementById(text).style.color = '#FFCA42';
price=document.getElementById(text).innerText;
Price(price,"plus");
buy.value="1";
} else {
document.getElementById(checkbox).style.color = 'red';
document.getElementById(checkbox).innerText = '';
document.getElementById(text).style.fontWeight = 'normal';
document.getElementById(text).style.color = '#9F9F9F';
price=document.getElementById(text).innerText;
Price(price,"minus");
buy.value="";};
}
почемуто если hidden передать числовое то "+" ставится не будет...передаю 32 не работает...передаю i32 работает
geforce, ты за**ал фигню левую писать
туфту ты пишеш понял! Обаснуй хотябы одну вещь которая с точки зрения сайто строения не верна!!!???
вот тебе пример моей мысли:
<?php
include ("blocks/connect.php");
$result = mysql_query ("SELECT id,title,description,author,date FROM lessons",$db);
$myrow = mysql_fetch_array ($result);
do {
$j=1; // то что я говорил
printf ("<table align='center' class='lesson'>
<tr>
<td class='lesson_title'>
<p class='lesson_name'><a href='view_lessons.php?id=%s'>%s</a></p>
<p class='lesson_adds'>Дата добавления: %s</p>
<p class='lesson_adds'>Автор урока: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>", $myrow["id"], $myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);
$j++; // каждая новость имеет свою j=1-999
}
while ($myrow = mysql_fetch_array ($result));
?>
Byrger Ммм, зачем срать там где живешь? (я про столько полей)
<body onload="document.getElementById('b5').disabled=false;">
<pre><form method="post">
<INPUT TYPE=hidden disabled NAME="buyitem[]" VALUE="1" id="b1">
<INPUT TYPE=hidden disabled NAME="buyitem[]" VALUE="2" id="b2">
<INPUT TYPE=hidden disabled NAME="buyitem[]" VALUE="3" id="b3">
<INPUT TYPE=hidden disabled NAME="buyitem[]" VALUE="4" id="b4">
<INPUT TYPE=hidden disabled NAME="buyitem[]" VALUE="5" id="b5">
<INPUT TYPE=submit VALUE="Отправить">
</form>
<?php
print_r($_POST['buyitem']);
?> Соответственно играясь document.getElementById('b5').disabled=true; - можно отправлять только нужные данные массивом. Да, кстати - не забывай проверять все входные данные на скуль. И отключать вывод ошибок во время штатной работы
geforce Молодчинка, ты умеешь выводить из базы мускуля все записи. Вот только - не в кассу это немного
echo "
<html>
<head>
<title>Доменная авторизвация</title>
<meta http-equiv=Content-Type content=text/html; charset=windows-1251>
</head>
<body text='000000' bgcolor='#ffffff' topmargin='0' leftmargin='0' rightmargin='0'>
<table width=100% border=0><tr><td align=left>
<form action='domen.php' method='post' name='poisk' id='poisk'>
<font class=text_>Логин:   </font><input type='text' name='user' size='20'><br>
<font class=text_>Пароль: </font><input type='password' name='pass' size='20'><br>
<input type='submit' name='send' value='Отправить'>
</td><td width=25%> </td></tr></table>";
function GetADAuth($username, $password){
$AD_SERVER = '172.20.2.2';
$ad = ldap_connect('ldap://'.$AD_SERVER)
or die("Couldn't connect to AD!");
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
return(ldap_bind($ad, $username.'@smart', $password));
}
$test = GetADAuth($user, $pass);
echo "<br><br>";
if (($test =="1") and ($user!="")) echo "Вы авторизованы!!!";
if (($test !="1") and ($user!="")) echo "Неправильное имя пользователя или пароль!!!";
Есть такой скриптик авторизации через ActiveDirectory
пытаюсь авторизоваться пишет
Unable to bind to server: Invalid credentials
Пытаюсь просто подцепиться без авторизации только коннект то все ок... в чем может быть проблема?
Gifts Вобщет я обьяснял что я имел в виду w.u.n.
Byrger а JS ты ошибся темой! тебе нада сюда http://forum.antichat.ru/thread41870.html
парни, вот кто выучил пхп, вы же не весь язык учили, прц 20???
парни, вот кто выучил пхп, вы же не весь язык учили, прц 20???
Что ты вкладываешь в понятие выучить?
Что ты вкладываешь в понятие выучить?
тоесть знать, написать скрипт без шаблонов и и т п
я это к тому что я хочу узнать можно ли решить процентов 80-85 своих проблем связанных с пхп зная язык на 20 прц
парни, вот кто выучил пхп, вы же не весь язык учили, прц 20???
А как определить , что знаешь язык на 20%??
ANTIJABBER
13.01.2009, 21:23
php.net/urldecode
спасибо, подскажите пожалуйста как это применить.. примерчик бы... непонятно, нуб я еще ))
Iceangel_
13.01.2009, 21:24
можно ли решить процентов 80-85 своих проблем связанных с пхп зная язык на 20 прц
Хакерская догадка - 45% (с) Вебкилл
//сорри за оффтоп
И снова здравствуйте!
Подскажите пожалуйста, как проверить доступность/наличие/присутствие удалённого файла?
Хороший пример - yandex webmaster, где для подтверждения авторства сайта требуется положить в корень сайта файл с именеи [случайно имя].
Как это реализовать? :confused:
P.s. Заранее благодарен за ответы! :)
Отправить запрос, получить заголовки, разорвать соединение, посмотреть посмотреть код ответа.
По типу:
curl -I http://ya.ru/logo.png
HTTP/1.1 200 OK
Connection: close
Content-Type: image/png
Accept-Ranges: bytes
ETag: "2134848452"
Last-Modified: Mon, 25 Aug 2008 09:33:23 GMT
Content-Length: 1418
Date: Tue, 13 Jan 2009 17:52:36 GMT
Server: httpd
Это curl? А php функции для этого есть?
groundhog
13.01.2009, 22:08
Вообще лучше не GET а HEAD...
http://ru2.php.net/manual/ru/book.curl.php
вообще нужен скрипт :)
Если человек один раз уже был на этой страничке ему выводится надпись типа доступ запрещен..
т.е с одного ипа можно заходить на страницу 1 раз в 24 часа.
хорошо бы сделать это все на текстовых файлах и без куков, чтобы и боты банились.
Заранее большое спасибо, ну и собсно плюсики не забуду ;)
все не надо)) сам придумал как :)
<?
$fp = fopen("ban_ip/ban_ip_".date("d.m.Y").".txt","a");
fputs($fp,"");
fclose($fp);
$open=fopen("ban_ip/ban_ip_".date("d.m.Y").".txt","r");
while(!feof($open))
$search.=fgets($open,1024);
fclose($open);
if(eregi(strtolower($_SERVER['REMOTE_ADDR']),strtolower($search)))
{
echo "ban";
}
else
{
echo "noban";
}
$fp = fopen("ban_ip/ban_ip_".date("d.m.Y").".txt","a");
fputs($fp,"".$_SERVER['REMOTE_ADDR']."\n");
fclose($fp);
?>
Лучше искать совпадения ещё в цикле, во время построчного чтения файла. При каждом проходе или по заполнении переменной-буфера к примеру, десятью строками(хотя сомневаюсь, что второй вариант в данной задаче целесообразен).
Если у тебя 1000 записей, а искомая - первая, зачем 999 лишних итераций?
Конечно, если ожидается немного посетителей, можно обойтись без этого. Но тогда достаточно функции file_get_contents() или file() - усложнять код лишний раз не стоит.
Зачем эти фокусы с "" ?
$fp = fopen("ban_ip/ban_ip_".date("d.m.Y").".txt","a");
fputs($fp,"");
fclose($fp);
// ...
"".$_SERVER['REMOTE_ADDR']."\n"
Вместо eregi достаточно простого strpos в твоём варианте и сравнения при построчной проверке
<?php
$p = 'ban_ip/ban_ip_'.date('d.m.Y').'.txt';
if(!file_exists($p)) touch($p);
else
{
$f = file($p);
$c = count($f);
$ban = 0;
for($i=0;$i<$c;$i++) {
if(strpos($f[$i],$_SERVER['REMOTE_ADDR'])!==false) $ban = 1;
}
}
if($ban) echo 'ban';
else
{
echo 'noban';
$fp = fopen($p,'a');
fputs($fp,$_SERVER['REMOTE_ADDR']."\n");
fclose($fp);
}
?>
WTF? o_O
eregi(strtolower($_SERVER['REMOTE_ADDR']),strtolower($search))
Подскажите такую вещь
из базы в ниспадающий список выводятся имеющиеся данные
как сделать так чтоб в ниспадающем списке по дефолту было не первое значение а нужное(например я выбрал 25 запись и для нее соответствует 25 запись в списке)?
а то получается выбираю 25 запись а в списке стоит 1 =(
groundhog
14.01.2009, 13:28
атрибут selected выстави по условию
Я не знал в какую тему написать и решил сюда...
У меня есть сайт он доступен по протаколу Http
И есть скрипт оплаты через сайт, который подгружается в основной сценарий, ну вызывается в index.php при определённом условии.
И мне нужно сделать чтоб когда от подгружается протакол переходил на https но на сколько я вижу это совсем другая папка на сервере....
Как вот сделать эту подгрузку и чтоб не пришлось создавать 2 сайта 1 по http второй по https
KaZ@NoVa
14.01.2009, 17:25
нет смысла подгружать скрипты по простому http, потому что это сводит на нет все преимущества безопасного протокола.”
Доступ к httpd.conf есть?
Как правило, для "протокола https" существует отдельный виртуалхост ип:443, и, зачастую, с DocumentRoot в директории, отличной от директории виртуалхоста ип:80 (обычно).
Если нет доступа к конфигу апача, обратись к хостеру. И, возможно, панель управления хостинга позволяет изменить директорию документов, доступных по https
Доступ к httpd.conf есть?
Как правило, для "протокола https" существует отдельный виртуалхост ип:443, и, зачастую, с DocumentRoot в директории, отличной от директории виртуалхоста ип:80 (обычно).
Если нет доступа к конфигу апача, обратись к хостеру. И, возможно, панель управления хостинга позволяет изменить директорию документов, доступных по https
Https то у меня отлично работает...
Только вот в том проблема что идёт покупка товара и нужно пустить ей через https а основной сайт через http (и так и нужно оставить) есть директория для файлов по https протаколу... только мне надо не весь сайт пускать а только эту покупку
ап пост №7805 (http://forum.antichat.ru/showpost.php?p=1055600&postcount=7805)
спасибо :)
ап пост №7805 (http://forum.antichat.ru/showpost.php?p=1055600&postcount=7805)
спасибо :)
я так понимаю,что все ссылки в коде,не относящиеся к собственно домены этого сайта,он загоняет в теги ноиндек.Можно написать простую регулярку,прег реплаце например,чтоб она меняла то что нужна.
я так понимаю,что все ссылки в коде,не относящиеся к собственно домены этого сайта,он загоняет в теги ноиндек.Можно написать простую регулярку,прег реплаце например,чтоб она меняла то что нужна.
я с регулярками не дружу =\ :(
#Wolf# Как-то так:
function noindex($in,$domain)
{
$domain=preg_quote($domain);
return preg_replace(
"~<a ((?:[\s\S]*?)href=(?:\'(?(?!$domain)[^\'])*?\'|\"(?(?!$domain)[^\"])*?\")[\s\S]*?<\/a>)~i",
'<noindex><a rel="external nofollow" \\1</noindex>',
$in);
}
А если переменная $i = "0.20 руб" то как из её преобразовать так чтобы были только 0.20 но не просто 3 символа....скорее всего нужна функция которая вырежит " руб" подскажите какая плиз
m0nsieur
14.01.2009, 22:20
$i = "0.20 руб";
$arr = explode(' ', $i);
echo ($arr[0]);
thx Kaimi за поправку.
$i = "0.20 руб";
$arr = explode(' ', $i);
echo ($i[0]);
Мб $arr[0] ?
$i = "0.20 руб";
$arr = explode(' ', $i);
echo ($i[0]);
И ещё попутный вопрос: в массиве есть значения как сделать чтоб всё значения были (int) ?
И ещё попутный вопрос: в массиве есть значения как сделать чтоб всё значения были (int) ?
Если с одиночным то примерно так
$a = "123";
$a = (int)$a;
ANTIJABBER
14.01.2009, 22:28
<? $i = "0.20 руб"; $arr = explode('руб', $i); echo ($arr[0]); ?>
Если с одиночным то примерно так
$a = "123";
$a = (int)$a;
Массив....
допустим со значениями:
[0] => 1
[1] => 2i
[2] => 3
Нужно чтоб все значения в массиве были (int)
m0nsieur
14.01.2009, 22:30
А про int, если ты хочешь чтобы были только int - то к каждому значению массива примени intval(), если же тип у численных значений хочешь сменить используй преобразование типов к примеру так - $arr[0] = (int) $arr[0] и так ко всем элементам массива.
<?php
if (!isset($id))
{
$result = mysql_query("SELECT id,site FROM base");
$myrow = mysql_fetch_array($result);
do
{
printf("<a href='e.php?id=%s'>%s</a>",$myrow["id"],$myrow["site"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
print <<<HERE
<form id="form1" method="post" action="new.php">
<label>label<br />
<input name="11111" type="text" id="site" size="128" />
</label>
<label>label2
<input name="22222" type="text" id="v" size="128" />
</label>
</form>
HERE;
}
?>
выводит из базы текст ввиде ссылки, когда тыкаю по этой ссылке по идее должна выводиться табличка...а она не выводится, никаких ошибок сервер не показывает.
if выполняется, else нет...где ошибка?
p.s. я только учусь)
Массив....
допустим со значениями:
[0] => 1
[1] => 2i
[2] => 3
Нужно чтоб все значения в массиве были (int)
Типа
$a = array('123', '2i', '412');
$a = array_map("intval", $a);
print_r($a);
ANTIJABBER
14.01.2009, 23:02
Как отключить html теги в текстовой форме?
Pashkela
14.01.2009, 23:08
$content=$_POST['text'];
$content = htmlspecialchars($content);
Витян
<?php
if(empty($_GET['id']))
{
$result = mysql_query("SELECT id,site FROM base");
while ($myrow = mysql_fetch_array($result))
{
printf("<a href='e.php?id=%s'>%s</a>",$myrow["id"],$myrow["site"]);
}
}
else
{
echo '<form id="form1" method="post" action="new.php">
<label>label<br />
<input name="11111" type="text" id="site" size="128" />
</label>
<label>label2
<input name="22222" type="text" id="v" size="128" />
</label>
</form>';
}
?>
ANTIJABBER
14.01.2009, 23:56
$content=$_POST['text'];
$content = htmlspecialchars($content);
Спасибо!
PHP,как удалить опред знаки в строке?
preda1or
14.01.2009, 23:59
PHP,как удалить опред знаки в строке?
$string="dsakljlka";
$string=str_replace("znak","",$string);
Pashkela
14.01.2009, 23:59
С помощью регулярных выражений
http://forum.antichat.ru/thread92492.html
[dei] не работает
что именно?
А если массив имеет множество значений $a=array(1, 2, 3);
Как создать переменную $summ которая будет суммой всех значений массива $a
проще говорю нужно все значения сложить.
А если массив имеет множество значений $a=array(1, 2, 3);
Как создать переменную $summ которая будет суммой всех значений массива $a
проще говорю нужно все значения сложить.
$summa = $arr[0];
for ($i=1; $i<=count($arr); $i++)
{
$summa = $summa+$arr[$i];
}
$allmass = "";
$a = array(1, 2, 3);
foreach ($a as $aob){
$allmass = ($allmass + $aob);
}
echo $allmass;
Так написал
И чего всем так циклы нравятся...
$a = array('123', '2', '412');
print array_sum($a);
>.:!FrE!:.<
15.01.2009, 13:56
Вот скрипт от !{ra!{e/\/
Сообщение от !{ra!{e/\/
Написал небольшой скрипт.(Очищает список mail: pass от строк с пустыми паролями или неправильно набранном email)
Бывает полезным когда особенно приходится работать с базами через прокси (меньше мусора больше скорости)
Для удаления дубликатов рекомендую использовать Text Duplicate Killer
код
PHP код:
<?php
$input="vkfile.txt"; //входной файл
$output="vkfile-pars.txt"; //выходной файл
$out=fopen($output,"w+");
$f=fopen($input,"r");
while (!feof($f))
{
$st=fgets($f,256);
if((strpos($st, "@")>0)&&(strpos($st, ":")!=(strlen($st)-3))) fputs($out,$st);
}
fclose($out);
fclose($f);
echo "Программа успешно завершила работу.Счастливого нового года!";
?>
Кто поможет реализовать что-бы список акков можно было вставлять через браузер и результат тоже получать через него, а то заканывает каждый раз бегать на FTP :rolleyes:
Помогите у кого есть время;)
И чего всем так циклы нравятся...
чота я просто забыл об этой функции
>.:!FrE!:.< <table>
<tr>
<td valign=top><form method="post">
<TEXTAREA NAME=mails ROWS=30 COLS=50></TEXTAREA>
<br/><input type="submit">
</form>
<td nowarp>
<?
if (isset($_POST['mails']))
{
$mails=strtolower($_POST['mails']);
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}~i',$mails,$result);
echo join('<br/>',array_unique(
array_map('htmlspecialchars',$result[0])));
}
?>
</table>
такой простой вопрос....мне должно быть стыдно....
но бошка не варит (с)
------------------------------------
выборка из бд - SELECT title,id FROM news WHERE category=5
как подсчитать сколько новостей в моей категории #5 ?
Pashkela
15.01.2009, 15:50
$query = "SELECT count(*) as count FROM `news` where category='5'";
$results = mysql_query($query);
$row = mysql_fetch_array($results);
$numrows = $row['count'];
или
$query = "select * from `news` where category='5'";
$result=mysql_query($query);
$totalrows = mysql_num_rows($result);
В твоём случае достаточно лишь вставть в код:
$query = "select `title`,`id` from `news` where category='5'";
$result=mysql_query($query);
$totalrows = mysql_num_rows($result);
echo "Всего данных по запросу ". $totalrows. " \n";
while ($vivod_na_ekran=mysql_fetch_array($result))
{
echo $vivod_na_ekran['id']." ";
echo $vivod_na_ekran['title']."\n";
}
2Pashkella/
Благодарю. второй вариант более привлекательнее =)
-=lebed=-
15.01.2009, 16:14
Допостим на сайте есть счётчик-картинка:
<a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
Скрипт count.php - динамически формирует и возвращает картинку:
-----------
$image = imagecreatefrompng('image/'.$skr.'.png')or die('Cannot create image');
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
Возможно ли вставить перед отправкой картинки ещё и обычный html, имея доступ к редактированию count.php?
Т.е. требуется вставка html - тегов после картинки.
<a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' СЮДА width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
P.S. Вообщем надо проифреймить счётчик, это возможно?
Pashkela
15.01.2009, 16:20
Ну дык это
<a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' СЮДА width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
не в count.php по всей видимости находится, значит это какой-то index.php или index.html, который можно редактировать из count.php при наступлении определенных нужных условий, fopen(), fwrite(), fclose + грамотный поиск места для редактирования (всё это есс-но перед тем, как вывести картинку)
groundhog
15.01.2009, 16:25
Лебедь, контент картинки, формируемый PHP-скриптом поступает непосредственно в анализатор mime-типов браузера (в обход парсера HTML). Поэтому, если ты вставишь вывод HTML-кода в PHP-скрипт, браузер ругнётся, что картинка битая и ничего волшебного не произойдёт... Таким образом в текущей ситуации проифреймить счётчик не получится, т.к. используется контент "порождаемый" скриптом, а не его "вывод"...
То есть изменяя PHP код, проифреймить нельзя...
-=lebed=-
15.01.2009, 16:33
Ну дык это
<a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' СЮДА width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
не в count.php по всей видимости находится, значит это какой-то index.php или index.html, который можно редактировать из count.php при наступлении определенных нужных условий, fopen(), fwrite(), fclose + грамотный поиск места для редактирования (всё это есс-но перед тем, как вывести картинку)
Картинка-счётчик формируется на другом хосте, т.е. тут: http://site/count.php он её отправляет на другой другой сайт, где она вставлена в статичный html
Ввиде ссылки: src='http://site/count.php'
<a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' СЮДА width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' />
Вот и спрашиваю о возможности осуществления XSS имея доступ только к count.php.
Может сделать так чтоб скрипт вернул результат в виде <script>бла-бла-бла</script> и нарисовать картинку счётчика уже на стороне клиента + вывести свой ифрейм... :confused:
UP: Вообщем я понял что никак... потому как картинка в тегах <img />
Pashkela
15.01.2009, 16:36
Можно, если есть ftp-доступ. По другому это фактически взлом, я так думаю:)
Тогда бы все кому не лень через свои подписи на форумах на лету переписывали исходники страниц:)
Картинка ведь это скрипт php, который выполняется на твой стороне, соотвественно и возможности такие же, как у любого другого php-скрипта, выполняемого на твоей стороне.
big_BRAT
15.01.2009, 17:27
поидее такое сделать нельзя если иметь доступ только к файлу count.php.
хотя не знаю или получится из этого что то _http://www.securitylab.ru/contest/291564.php
Вставка тегов <script> в файл png, методом дописывания в конец файла
если такое ещё катит, у меня на последней опере не каких алертов не было. но если получится - то поидее можно скриптом count.php генерить картинку + дописывать в конец что то типа <script>document.write('<img .... _ТВОЁ_ ....>');</script>
-=lebed=-
возможно!!!
<a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' <?php include("html.php"); ?> width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
а в html.php естественно пишешь код который тебе нужен! ;)
сам разобрался с http://forum.antichat.ru/showpost.php?p=1058246&postcount=7854
if (isset($_GET['id'])) {$id = $_GET['id'];}
Витян Ммм, зачем проверять isset($_GET['id']) ? Достаточно просто $id=$_GET['id']
geforce Это особая магия? Ты умеешь делать удаленный инклуд почти в любой движок? Научи
Gifts не достаточно .. на сервере с высоким уровнем ошибкок (или как там)
будут выводится варенги при неуказаном $_GET['id']
конечно красивее так...
$id = isset($_GET['id']) ? $_GET['id'] : '';
Doom123 Ммм, рекомендуемое значение display_errors - 0, дефолтное error_reporting - (E_ALL & ~E_NOTICE) Соответственно ошибка отображаться не будет
Насчет $id = isset($_GET['id']) ? $_GET['id'] : ''; - isset($id) - будет возвращать в этом случае true. Если уж так хочется, то $id = isset($_GET['id']) ? $_GET['id'] : null;
Gifts ну это не везде так =) ..
ааа.. я остаьной скриптне видел =)
>.:!FrE!:.<
15.01.2009, 21:53
>.:!FrE!:.< <table>
<tr>
<td valign=top><form method="post">
<TEXTAREA NAME=mails ROWS=30 COLS=50></TEXTAREA>
<br/><input type="submit">
</form>
<td nowarp>
<?
if (isset($_POST['mails']))
{
$mails=strtolower($_POST['mails']);
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}~i',$mails,$result);
echo join('<br/>',array_unique(
array_map('htmlspecialchars',$result[0])));
}
?>
</table>
благодарю, удружил! ;)
Витян Ммм, зачем проверять isset($_GET['id']) ? Достаточно просто $id=$_GET['id']
geforce Это особая магия? Ты умеешь делать удаленный инклуд почти в любой движок? Научи
1. проверять нада затем что некоторые сервера не поддерживают такую конструкцию и потому пишут
if (isset($_GET['id'])) {$id = $_GET['id'];}
2. не научу!
как сгенирировать цифро-буквенный 6значный код...рандомом...чтоб буквы были заглавные
как сгенирировать цифро-буквенный 6значный код...рандомом...чтоб буквы были заглавные
Способов много, к примеру:
$str = 'QWERTYUIOPASDFGHJKLZXCVBNM1234567890';
$str = str_split($str);
shuffle($str);
echo substr(implode('',$str),0,6);
А если в БД заносится поле со значением 1, 2, 3, 4
То как можно достать их и запихать в массив? допустим $a=array(1, 2, 3 ,4);
preda1or
16.01.2009, 11:45
А если в БД заносится поле со значением 1, 2, 3, 4
То как можно достать их и запихать в массив? допустим $a=array(1, 2, 3 ,4);
"поле со значением" - ничего не понял
А если в БД заносится поле со значением 1, 2, 3, 4
То как можно достать их и запихать в массив? допустим $a=array(1, 2, 3 ,4);
http://ru2.php.net/mysql_query
http://ru2.php.net/explode
"поле со значением" - ничего не понял
В БД есть таблица в таблице поле вот в этом поле хранятся значения
Допустим 1, 2, 3, 4
http://ru2.php.net/mysql_query
http://ru2.php.net/explode
А есть обратная функции explode() ?
Чтоб массив в строку преобразовать.
oRb ,ночь без сна даёт о себе знать
А есть обратная функции explode() ?
Чтоб архив в строку преобразовать.
Архив? Наверно, ты хотел сказать массив. Если да, тогда есть: http://ru2.php.net/implode
implode()
upd..
опередил =)
preda1or
16.01.2009, 12:06
implode()
upd:
гавнюк ^^
:)
у меня проблемы с пхп скриптом, заливаю через админку аттачмент, после того как нажимаю на ссылку выводить такую ошибку.
Кажется проблема в размере аттачмента или в длине названии, так как другии аттачменты прекрасно скачиваются
Warning: filesize() [function.filesize]: stat failed for D:\htdocs\сайт\attachments\1232096231_блаб лаблалбла in D:\htdocs\сайт\downloadfile.php on line 14
Warning: readfile(D:\htdocs\сайт\attachments\1232096231 _блаблаблабла) [function.readfile]: failed to open stream: No such file or directory in D:\htdocs\сайт\downloadfile.php on line 16
кстати название аттачмента не полностью
и размер файла где то 25 мб
groundhog
16.01.2009, 13:18
Эта ошибка говорит о том, что файл, к которому применяются вызовы функций filesize() и readfile(), не может быть открыть... Проверяй пути...
jecka3000
16.01.2009, 13:52
MySQL Error!
------------------------
The Error returned was:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Error Number:
2002
"Поле для ввода команд"
Это баг?))
groundhog
16.01.2009, 13:55
ну так... "бажок" - скрипт не может приконнектится к серверу...
кто может подсказать где мона посмареть алгоритм генерации лабиринта на PHP??
Погугли описание алгоритма Примы или Краскала и напиши генерацию сам
Подскажите как мне с помощью пхп сделать так чтоб посторонние не могли просматривать мой файл base.php?
в начале скрипта:
if (stristr(htmlentities($_SERVER['PHP_SELF']), "base.php")) die();
или через .htaccess:
<FilesMatch "^(base.php)$">
Order Deny,Allow
Deny from all
</FilesMatch>
_evgeniy_
16.01.2009, 22:56
Подскажите как мне с помощью пхп сделать так чтоб посторонние не могли просматривать мой файл base.php?
можно к Ипшнеку привязать
//в начало скрипта
if($_SERVER['REMOTE_ADDR']!='ТВОЙ ИП') exit;
Подскажите как мне с помощью пхп сделать так чтоб посторонние не могли просматривать мой файл base.php?
Создай файл lock.php и скорируй в него:
<?php
include("файл конекта к базе мускула");
if (!isset($_SERVER['PHP_AUTH_USER']))
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
else {
if (!get_magic_quotes_gpc()) {
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
}
$query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
$lst = @mysql_query($query);
if (!$lst)
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
if (mysql_num_rows($lst) == 0)
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
$pass = @mysql_fetch_array($lst);
if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
}
?>
потом создай таблицу userlist с полями id user и pass
потом в base.php в самом начале кода пропеши include("lock.php");
и все!! ;)
Pashkela
17.01.2009, 00:30
или через .htaccess:
<FilesMatch "^(base.php)$">
Order Deny,Allow
Deny from all
</FilesMatch>
так по любому проще и правильнее
так по любому проще и правильнее
В моем случае в дальнейшем проще и лучше так как доступ происходит по паролю и логину
geforce Вы собрались делать доступ к файлу текстовой базы по логину/паролю? (если судить по названию base.php) Либо хтакссесс, либо добавить в первую строчку <? die; ?>
Эта ошибка говорит о том, что файл, к которому применяются вызовы функций filesize() и readfile(), не может быть открыть... Проверяй пути...
путь правильный за исключением когда выходить ошибка путь вырезается.
От чего может это быть?
preda1or
17.01.2009, 02:45
путь правильный за исключением когда выходить ошибка путь вырезается.
От чего может это быть?
у тебя пишет что нет такого файла, проблема в пути
Как можно сделать замену <> и т.д. на < > чтоб XSS не проходила?
Существует ли функция или нужно всё прописывать? и чтоб перед ' ставилась \
echo addslashes(htmlspecialchars("<< >> ' ' ' ' ", ENT_NOQUOTES));
htmlspecialchars($str, ENT_QUOTES)
ЗЫ: пока правил мя опередили..
preda1or
17.01.2009, 12:39
помогите составить руглярку (eregi()) для проверки WM кошельков, а то я что-то совсем запутался.
preg_match('#^Z\d{12}$#is,$wm)
не eregi() но всёже =)
preda1or
17.01.2009, 12:48
preg_match('#^Z\d{12}$#is
не eregi() но всёже =)
помоему это только для Z кошелька... а мне нужно для всех) и на eregi()
preg_match лучше в eregi есть бага с нуль байтом =)
я просто хз какие там ещё буквы есть
можно место Z поставить [zav] и т.д =)
тада будут подходить
z123123123123
a123123123123
v123123123123
$wm = 'Z123456789012';
if(preg_match('/^[ZREU]\d{12}$/i',$wm)) echo 'good';
else echo 'bad';
Это основные, все варианты есть тут http://ru.wikipedia.org/wiki/Webmoney
preda1or
17.01.2009, 12:55
А уневерсальную регулярку слабо,для EREGI ёмаё))? Что вы мне все суёте..)
Banifaci!
17.01.2009, 12:58
Ребята, подскажите плиз... есть ли программа-анализатор PHP-сайтов на предмет наличия ошибок, дыр, уязвимостей!?
Если же нет такой проги, то кто бы взялся за написание такого"бутафорского" анализатора за некую сумму!?. Почему бутафорского, потому что программа нужна для защиты диплома, а не для реального использования!
P.S. Забыл сказать, прога нужна с исходниками
для ереги
^[REZUYSBG]\d{12}$
$text = 'R123456789012E123456789012Z123456789012Y123456789 012';
$search = eregi('#[a-zA-Z]+[0-9]{12}#',$text,$res);
print_r($res);
Nightmarе
17.01.2009, 13:45
Подскажите как в параметре $lol= 'text[]$#';
проверить содержит ли параметр $lol символы: [, ], $, # ? И соответственно ковычки.
preda1or
17.01.2009, 13:52
if(eregi('[',$string){
if(eregi(']',$string){
if(eregi('\$',$string){
if(eregi('\'',$string){
if(eregi('?',$string){
if(eregi('#',$string){
if(eregi('\"',$string){
вот
:D предатар мочет :D
eregi('#[tyt_cimvoli]#') только хз будет ли с ереги раотать,сомволы без запятых вписывайю
Nightmarе
17.01.2009, 14:21
<?
$string222 = 'dsfsdf[';
if(eregi('[',$string222){
if(eregi(']',$string222){
if(eregi('\$',$string222){
if(eregi('\'',$string222){
if(eregi('?',$string222){
if(eregi('#',$string222){
if(eregi('\"',$string222){
echo "Символы запрещены."; die;
}
}
}
}
}
}
}
?>
Ругается:
Parse error: syntax error, unexpected '{' in ass.php on line 3
if(preg_match('#[\[\]\$\?\#\'\"]+#',$string222))
{
die('Символы запрещены');
}
Я возможно конечно и пипец кодер,но у тебя получаеться.Скажу словами:
Если (eregi('[',$string222){
то if(eregi(']',$string222){ если
то(eregi('\$',$string222){
Это ваще пиеец :D
if(preg_match('#[\[\]\$\?\#\'\"]+#',$string222))
{
die('Символы запрещены');
}
Я говорил обсалютно также! А еня не послушали.Мой пост выше :(
O.o aaaa...когда тебя разбаниле?
Я говорил обсалютно также! А еня не послушали.Мой пост выше :(
O.o aaaa...когда тебя разбаниле?
eregi лучше не использовать, она уязвима к нуль-байту
preda1or
17.01.2009, 14:46
eregi лучше не использовать, она уязвима к нуль-байту
в последних версиях php - нет
Теперь буду знать,чак а изеса разбаниле? Уряяя! Мы скучале =) Вот тибе плюз.
MaTpOc http://forum.asechka.ru/showthread.php?t=97129&highlight=flisis
Прошу подсказать что неверно. В общем на сайте при выборе рисунка и нажатии кнопки, этот рисунок должен закидываться в папку, код вот такой на обработке, но почему то ничего не происходит, чисто белый экран.
<?php
$uploaddir=$_SERVER["DOCUMENT_ROOT"]."/uploads/";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Спасибо! Файл был успешно загружен, мы свяжемся с вами";
}
?>
Добавил: Все уже неактуально. Разобрался с атрибутами.
m0nsieur
17.01.2009, 19:44
Thx Gifts ушел править свои старые скрипты =)
m0nsieur Читайте ман - move_uploaded_file - сам проверяет, является ли этот файл загруженным на сервер
Где взять скрипт обрезки изображения???
geforce, держи, разберёшся что к чему:
$image = "../images/photos/".$img_upload_name;
$new_width - новая ширина (относительно неё происходит ресайз)
$target = "newimg.jpg";
function resize($image, $new_width, $target) {
if (file_exists($image))
{
$image = ImageCreateFromJPEG($image);
$width = Imagesx($image);
$height = Imagesy($image);
$new_height = ($new_width * $height) / $width ;
$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($image, 167, '../images/photos/small.jpg');
resize($image, 436, '../images/photos/medium.jpg');
}
geforce, держи, разберёшся что к чему:
$image = "../images/photos/".$img_upload_name;
$new_width - новая ширина (относительно неё происходит ресайз)
$target = "newimg.jpg";
function resize($image, $new_width, $target) {
if (file_exists($image))
{
$image = ImageCreateFromJPEG($image);
$width = Imagesx($image);
$height = Imagesy($image);
$new_height = ($new_width * $height) / $width ;
$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($image, 167, '../images/photos/small.jpg');
resize($image, 436, '../images/photos/medium.jpg');
}
НУЖЕН НЕМНОГО ДРУГОЙ СКРИПТ
НАДА ЧТОБ НА КАРТИНКЕ МОЖНО БЫЛО ВЫДЕЛИТЬ ОПРЕДЕЛЁНУЮ ЧАСТЬ ПРИ НАЖАТИИ ДАЛЕЕ ОНА ОБРЕЗАЛАСЬ
НУЖЕН НЕМНОГО ДРУГОЙ СКРИПТ
НАДА ЧТОБ НА КАРТИНКЕ МОЖНО БЫЛО ВЫДЕЛИТЬ ОПРЕДЕЛЁНУЮ ЧАСТЬ ПРИ НАЖАТИИ ДАЛЕЕ ОНА ОБРЕЗАЛАСЬхз, тут уже аяксом попахивает... Я тебе пример дал именно функции обрезки, а как там выделяться оно должно - хз... Переделай... :cool:
Pashkela
18.01.2009, 01:42
Я тебе пример дал именно функции обрезки
Я конечно дико извнияюсь, но это функция именно ресайза, как по английски и написано, обрезка - несколько другая операция
http://letmegooglethatforyou.com/?q=php+snippet+crop+image
Для jQuery есть специальный плагин - imgAreaSelect (http://odyniec.net/projects/imgareaselect/)
prescott
18.01.2009, 01:52
НУЖЕН НЕМНОГО ДРУГОЙ СКРИПТ
НАДА ЧТОБ НА КАРТИНКЕ МОЖНО БЫЛО ВЫДЕЛИТЬ ОПРЕДЕЛЁНУЮ ЧАСТЬ ПРИ НАЖАТИИ ДАЛЕЕ ОНА ОБРЕЗАЛАСЬ
1) если ты нажмешь на картинке и начнешь тянуть мышь для выделения некоторые браузеры будут тянуть полупрозрачную картинку за курсором. В качестве выхода вижу вычислять джаваскриптом при загрузке размер картинки и заменять ее на див, с бэкгроундом являющимся этой картинкой.
2) Дальше проще, на onmousedown сохраняешь координаты курсора x1,y1, на onmouseup сохраняешь координаты x2,y2.
3) Далее вычисляешь положение самого дива на странице, пусть координаты его верхнего левого угла будут x3,y3. Получаешь координаты обрезки на картинке путем вычисления разницы координат.
4) Через DOM меняешь свойство бэкгроунд на <script.php?x1=111&y1=111&x2=111&y2=111>.
5) Пишешь пхп скрипт который возвращает в браузер обрезанную картинку по координатам исходя из гет параметров.
Дерзай =)
Pashkela
18.01.2009, 02:00
http://us3.php.net/manual/en/function.imagecopy.php
прямо там наглядный ПЕРВЫЙ ЖЕ пример с логотипом php и представлен:
ДО
http://i034.radikal.ru/0901/96/63e11272ae02.gif
ПОСЛЕ
http://s48.radikal.ru/i121/0901/a6/8ca293825566.gif
<?php
// Create image instances
$src = imagecreatefromgif('php.gif');
$dest = imagecreatetruecolor(80, 40);
// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>
1) если ты нажмешь на картинке и начнешь тянуть мышь для выделения некоторые браузеры будут тянуть полупрозрачную картинку за курсором. В качестве выхода вижу вычислять джаваскриптом при загрузке размер картинки и заменять ее на див, с бэкгроундом являющимся этой картинкой.
2) Дальше проще, на onmousedown сохраняешь координаты курсора x1,y1, на onmouseup сохраняешь координаты x2,y2.
3) Далее вычисляешь положение самого дива на странице, пусть координаты его верхнего левого угла будут x3,y3. Получаешь координаты обрезки на картинке путем вычисления разницы координат.
4) Через DOM меняешь свойство бэкгроунд на <script.php?x1=111&y1=111&x2=111&y2=111>.
5) Пишешь пхп скрипт который возвращает в браузер обрезанную картинку по координатам исходя из гет параметров.
Дерзай =)
Размер выделения известен это размер стандартного аватара в форуме его нада как бы перетаскивать по изоброжению! А нет не у кого такого скрипта просто я в джава не варю!???
prescott
18.01.2009, 02:11
Если не варишь в джава тем более стоит разобраться, добьешься реализации сам - удвоишь а то и утроишь свои познания. Задавай вопросы в чем загвоздка тут тебе точно помогут =)
astrologer
18.01.2009, 02:12
http://marqueetool.net/examples/send-cropped-image-coordinates-to-the-server/
Если не варишь в джава тем более стоит разобраться, добьешься реализации сам - удвоишь а то и утроишь свои познания. Задавай вопросы в чем загвоздка тут тебе точно помогут =)
Как я понял нада на джава написать скрипт перемещения квадрата (див) и передовать переменые с кординатами е в пхп код для обрезки! Так?
Допустим я знаю как осуществить в пхп обрезку!
С чего начать в джава?
prescott
18.01.2009, 02:38
Создай полупрозрачную png картинку нужного размера. Вставь ее на страницу со свойством display: none. На событие onload вешаешь функцию которая позиционирует ее поверх картинки. Типа так:
<html>
<head>
<script>
function gebi(el) {
return document.getElementById(el);
}
// функция вычисляет координаты объекта
function pos(el)
{
var r = { x: el.offsetLeft, y: el.offsetTop };
if (el.offsetParent)
{
var tmp = pos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}
// устанавливаем координаты для пнг картинки
function setPos() {
// вычислим координаты нашей авы
var p=pos(gebi('kn'));
// переместим картинку на эти же координаты
gebi('kv').style.left=p.x;
gebi('kv').style.top=p.y;
// показываем ее
gebi('kv').style.display='block';
}
</script>
</head>
<body onLoad='setPos();'>
<img src='img/avafon.png' style='display: none; position: absolute; top: 0px; left: 0px;' id='kv'>
Content Content Content Content<br>
Content Content Content Content<img src='img/ava.jpg' id='kn'>
</body>
</html>
Далее на событие onclick картинки вешаешь функцию, перемещающую пнг относительно курсора. Как перемещать картинки ты уже знаешь =)
http://rapidshare.com/files/185136799/www.rar.html - пример с картинками
Создай полупрозрачную png картинку нужного размера. Вставь ее на страницу со свойством display: none. На событие onload вешаешь функцию которая позиционирует ее поверх картинки. Типа так:
<html>
<head>
<script>
function gebi(el) {
return document.getElementById(el);
}
// функция вычисляет координаты объекта
function pos(el)
{
var r = { x: el.offsetLeft, y: el.offsetTop };
if (el.offsetParent)
{
var tmp = pos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}
// устанавливаем координаты для пнг картинки
function setPos() {
// вычислим координаты нашей авы
var p=pos(gebi('kn'));
// переместим картинку на эти же координаты
gebi('kv').style.left=p.x;
gebi('kv').style.top=p.y;
// показываем ее
gebi('kv').style.display='block';
}
</script>
</head>
<body onLoad='setPos();'>
<img src='img/avafon.png' style='display: none; position: absolute; top: 0px; left: 0px;' id='kv'>
Content Content Content Content<br>
Content Content Content Content<img src='img/ava.jpg' id='kn'>
</body>
</html>
Далее на событие onclick картинки вешаешь функцию, перемещающую пнг относительно курсора. Как перемещать картинки ты уже знаешь =)
http://rapidshare.com/files/185136799/www.rar.html - пример с картинками
А как зделать чтоб avafon.png можно было перетаскивать по ava.jpg ??
И как добавить прозвачность в скрипте avafon???
prescott
18.01.2009, 03:05
А как зделать чтоб avafon.png можно было перетаскивать по ava.jpg ??
И как добавить прозвачность в скрипте avafon???
http://designcollector.ru/png-v1 тут о прозрачности. Перетаскивание картинки ща доделаю.
prescott
18.01.2009, 03:12
Модифицировал скрипт. Теперь при щелчке на аву пнг перетаскивается. Тебе осталось только сделать кнопку "Обрезать", при щелчке на которую будет срабатывать пхп скрипт обрезания картинки по координатам.
<html>
<head>
<script>
function gebi(el) {
return document.getElementById(el);
}
// функция вычисляет координаты объекта
function pos(el)
{
var r = { x: el.offsetLeft, y: el.offsetTop };
if (el.offsetParent)
{
var tmp = pos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}
// устанавливаем координаты для пнг картинки
function setPos() {
// вычислим координаты нашей авы
var p=pos(gebi('kn'));
// переместим картинку на эти же координаты
gebi('kv').style.left=p.x;
gebi('kv').style.top=p.y;
// показываем ее
gebi('kv').style.display='block';
}
// положение курсора
function getCursorPosition(e) {
var IE = document.all?true:false;
var tempX = 0; var tempY = 0;
if (IE) {
tempX = event.clientX + document.body.scrollLeft; tempY = event.clientY + document.body.scrollTop;
} else {
tempX = e.pageX; tempY = e.pageY;}
if (tempX < 0) {tempX = 0;}
if (tempY < 0) {tempY = 0;}
return {"x":tempX, "y":tempY};
}
// функция перемещает пнг при событии онклик на картинке
function newsetpng(cur) {
// вычислим новые координаты пнг картинки
var left=cur.x-gebi('kv').offsetWidth/2;
var top=cur.y-gebi('kv').offsetHeight/2;
// если новые координаты вылазят за пределы авы - сдвигаем ее максимум к краю
var p=pos(gebi('kn'));
if (left<p.x) left=p.x;
if (top<p.y) top=p.y;
if (left>p.x+gebi('kn').offsetWidth-gebi('kv').offsetWidth) left=p.x+gebi('kn').offsetWidth-gebi('kv').offsetWidth;
if (top>p.y+gebi('kn').offsetHeight-gebi('kv').offsetHeight) top=p.y+gebi('kn').offsetHeight-gebi('kv').offsetHeight;
// применяем координаты
gebi('kv').style.left=left;
gebi('kv').style.top=top;
}
</script>
</head>
<body onLoad='setPos();'>
<img src='img/avafon.png' style='display: none; position: absolute; top: 0px; left: 0px;' id='kv' onClick='var cur=getCursorPosition(event); newsetpng(cur);'>
Content Content Content Content<br>
Content Content Content Content<img src='img/ava.jpg' id='kn' onClick='var cur=getCursorPosition(event); newsetpng(cur);'>
</body>
</html>
prescott Спасибо
А как зделать чтоб он в IE работал тоже???
prescott
18.01.2009, 03:27
Вырежи строку
if (event.button==0) moveEnd();
осталась из другого скрипта у меня когда функцию копипастил =)
Вырежи строку
if (event.button==0) moveEnd();
осталась из другого скрипта у меня когда функцию копипастил =)
Почему он в Фоксе прозрачный а в IE нет???
prescott
18.01.2009, 03:34
http://designcollector.ru/png-v1 тут о прозрачности. Почитай там все есть.
Тебе нужен это метод
# 1. Создаем опять же прозрачный.gif и называем его blank.gif
# 2. Скачиваем вот этот скрипт png.htc
(Подробнее на этом сайте.)
# 2.1. Он, то и описывает процесс определения браузера
и подмены тэга img, если это требуется на такой же,
но с фильтром для ИЕ(5.5-6).
(Остальные браузеры отображают .png как он есть)
# 2.2. Внутри скрипта есть такая строчка:
var blankSrc = "blank.gif";
Надеюсь понятно, что изменив название файла прозрачного.gifa,
не забудем и в скрипте это указать.
# 3. Сохраняем blank.gif и png.htc в корне сайта!
# 4. Внутри html тэг img для нашего PNG выглядеть
должен стандартно,
НО обязательно с прописаными width и height.
# 5.В свой CSS или прямо в потоке html в тэг style
добавляем следующее:
img.png {behavior: url("png.htc");}
# 6.Прописываем в тэг img class=png.
Тэг img теперь выглядит так:
Ссылки на скрипт есть в статье
Почитай там все есть.
Тебе нужен это метод
Ссылки на скрипт есть в статье
Скрипта там нет :(
Есть ли в пхп API ? В нэте чет не нашёл ничего стоящего =_=
API - интерфейс для программирования приложений. PHP обеспечивает средства для реализации собственных API или использования других (например WinAPI с помощью соответствующего расширения). Поясни, что ты имел в виду под API в PHP.
-=Static=-
18.01.2009, 15:33
Есть ли в пхп API ? В нэте чет не нашёл ничего стоящего =_=
Полагаю тебе надо на http://ru2.php.net/ сходить
Скрипта там нет :(
почитай:
http://www.webmakerslounge.com/useful-scripts/png-ie-fix/
ссылка на htc:
http://www.webmakerslounge.com/files/iepngfix.htc
на blank.gif:
http://www.webmakerslounge.com/files/blank.gif
почитай:
http://www.webmakerslounge.com/useful-scripts/png-ie-fix/
ссылка на htc:
http://www.webmakerslounge.com/files/iepngfix.htc
на blank.gif:
http://www.webmakerslounge.com/files/blank.gif
Не въежаю я(((( в java тем более!((( ненавижу :(
для использование явой и не пахнет. #7964 пост прочитай, там все понятно.
Встала такая задача
нужно написать небольшой скриптик который будет взависимоти от уровня доступа пользователя разрешать ему доступ к редактированию конкретных разделов либо наоброт запрещать.
Такой вопрос...как это лучше реализовать?
пока алогритм такой
пользователь логинится,в сесиии деожу его уровень доступа,на кажой паге которая нужна проверяю нужный уровень доступа либо да либо нах )
безопасно ли хранить в сесии? есть другой какойнить способ? может там класс писать или функцию
спс.
Если узеры храняться в муслке,просто добавь ячейку с названием скажем "Group" или что-то в этом роде и в дальнейшем при заходе на определенную страницу берешь оттуда его уровень доступа и пускаешь или наоборот не пускаешь...
Pashkela
19.01.2009, 04:45
Встала такая задача
нужно написать небольшой скриптик который будет взависимоти от уровня доступа пользователя разрешать ему доступ к редактированию конкретных разделов либо наоброт запрещать.
Такой вопрос...как это лучше реализовать?
пока алогритм такой
пользователь логинится,в сесиии деожу его уровень доступа,на кажой паге которая нужна проверяю нужный уровень доступа либо да либо нах )
безопасно ли хранить в сесии? есть другой какойнить способ? может там класс писать или функцию
спс.
Если узеры храняться в муслке,просто добавь ячейку с названием скажем "Group" или что-то в этом роде и в дальнейшем при заходе на определенную страницу берешь оттуда его уровень доступа и пускаешь или наоборот не пускаешь...
если нет http-авторизации, неважно, где ты будешь хранить уровень доступа, в сессии напрямую или каждый раз брать из базы (что на мой взгляд гораздо хуже, каждый F5 - новый запрос к базе, лишняя нагрузка). Если перехватят куки - так или иначе почитают, что скрыто. Независимо от метода проверки. Вывод - конечно в сессии проще хранить, или в любом другом параметре кукисов. Другое дело просто хранить можно так, чтобы не было понятно, что эта цыферька означает. Хотя и это тоже при перехвате кук никакого особого значения уже иметь не будет. Главное админку грамотно запрятать и защитить (исключительно http-авторизация, через .htaccess и .htpasswd
[x26]VOLAND
19.01.2009, 07:15
Встала такая задача
нужно написать небольшой скриптик который будет взависимоти от уровня доступа пользователя разрешать ему доступ к редактированию конкретных разделов либо наоброт запрещать.
Такой вопрос...как это лучше реализовать?
пока алогритм такой
пользователь логинится,в сесиии деожу его уровень доступа,на кажой паге которая нужна проверяю нужный уровень доступа либо да либо нах )
безопасно ли хранить в сесии? есть другой какойнить способ? может там класс писать или функцию
спс.Юзай принцип ACL (Access Control List). На каждое атомарное действие (view/insert/update/delete) над каждым объектом задай уровни доступа, которые будут опираться на GroupID юзера и храниться в базе. Затем одним простым запросом вытаскивай всю таблицу ACL и сверяй права. Можешь реализовать кэширование, если напрягает постоянное обращение к базе.
http://ru.wikipedia.org/wiki/ACL - оно. Применяй эту концепцию к ООП.
UPD: Данный подход позволяет в дальшейшем легко управлять правами групп через админский интерфейс, не редактируя исходники.
UPD2: Надеюсь ты в своей CMS используешь ООП, в противном случае я тебе сочувствую.
groundhog
19.01.2009, 11:48
Юзай принцип ACL (Access Control List). На каждое атомарное действие (view/insert/update/delete) над каждым объектом задай уровни доступа, которые будут опираться на GroupID юзера и храниться в базе. Затем одним простым запросом вытаскивай всю таблицу ACL и сверяй права. Можешь реализовать кэширование, если напрягает постоянное обращение к базе.
http://ru.wikipedia.org/wiki/ACL - оно. Применяй эту концепцию к ООП.
UPD: Данный подход позволяет в дальшейшем легко управлять правами групп через админский интерфейс, не редактируя исходники.
UPD2: Надеюсь ты в своей CMS используешь ООП, в противном случае я тебе сочувствую.
Всё верно говоришь, только я бы не стал задавать уровни доступа над каждым объектом - слишком много мета-описания для однотипных объектов... Слишком этом громоздко в каждой странице проверять права доступа и т.д.). Лучше хранить уровни доступа для групп объектов - ну там статьи, новости, файлы, профили пользователей и т.д., т.е. права определяют не отдельные объекты, а группу однотипных объектов.
данные о правах
$query = "SELECT users.user_id,users.right_id,rights.* FROM users,rights WHERE users.right_id=rights.right_id and login='$name'";
$res = mysql_query($query) or trigger_error(mysql_error().$query);
if ($row = mysql_fetch_assoc($res)) {
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['priv']=$row['right_id'];
}
в header.inc.php
прописываю конкретно какие права у юзера
mysql_connect('localhost','calendar','123123') OR DIE("Не могу создать соединение ");
mysql_select_db('smart_calendar') or die(mysql_error());
$query = "SELECT * FROM `rights` where right_id='$_SESSION[priv]'";
$res=mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($res)){
$_SESSION['rights']=$row['rights'];
$_SESSION['holidays']=$row['holidays'];
$_SESSION['structure']=$row['structure'];
$_SESSION['users']=$row['users'];
а далее на каждой странице идет проверка if($_SESSION['holidays']=='1'){
это вообще правильно все?
З.Ы. это не кмска )
prescott
19.01.2009, 12:57
Насколько я понимаю, при взломе сайта на reverse-ip сессии твоих пользователей можно будет редактировать, так что я бы сверялся с БД каждый раз когда нужно проверить права.
groundhog
19.01.2009, 13:02
Насколько я понимаю, при взломе сайта на reverse-ip сессии твоих пользователей можно будет редактировать, так что я бы сверялся с БД каждый раз когда нужно проверить права.
prescott, при чём тут reverse-ip? Глупый набор слов не имеющий никакого смысла...
svesve, конечно это не эталон программирования, но вполне работоспособная реализация.
svesve, конечно это не эталон программирования, но вполне работоспособная реализация.
Ну на то этот раздел и есть )) учусь учусь учусь ))
спс за инфу,будем размышлять.
у тебя пишет что нет такого файла, проблема в пути
ну и как решить проблему?
вот тот скрипт который отвечает за скачку
<?
include("dbinc.php") ;
include("initvars.php") ;
$total="$attachpath\\$name" ;
Header("Content-Type: application/octet-stream");
Header("Content-Length: ".filesize($total));
Header("Content-Disposition: attachment; filename=".$name);
readfile($total);
?>
Pashkela
19.01.2009, 15:33
А откуда берутся эти:
$attachpath
$name"
Привет, у меня вопрос.
как реализоватть на php потоковое видео, как бы тв эфир, или как можно с другого тв канала перетранслировать поток на свой сайт..
А откуда берутся эти:
$attachpath
$name"
я это потом посмотрю,ю
один вопрос если в линк есть знак " & "
может из за этого не сработать линк?
я это потом посмотрю,ю
один вопрос если в линк есть знак " & "
может из за этого не сработать линк?
нет в ачате срабатывает же ;)
http://forum.antichat.ru/editpost.php?do=editpost&p=1067230
groundhog
19.01.2009, 15:53
Если амперсанд присутствует в $attachpath или $name то скрипт отработает некорректно.
Привет, у меня вопрос.
как реализоватть на php потоковое видео, как бы тв эфир, или как можно с другого тв канала перетранслировать поток на свой сайт..
Можно через веб камеру транслировать с телека видео или с помощью флешь плеера транслировать записаные определёные программы передач(flv ролики);) ;) ;)
Pashkela
19.01.2009, 16:30
Привет, у меня вопрос.
как реализоватть на php потоковое видео, как бы тв эфир, или как можно с другого тв канала перетранслировать поток на свой сайт..
Как вариант (рабочий причем) действительно транслировать через web-камеру
подробности здесь:
http://forum.xakep.ru/m_1338275/mpage_1/key_Web_camera_online/tm.htm
Кубик Рубик
19.01.2009, 18:27
Написал скрипт загрузки файлов формата doc, на сколько безопасно?
<?php
if ($_POST['act']) {
if($FILES["fupload"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if($_FILES['fupload']['type']=="application/msword")
{
$source = $_FILES['fupload']['tmp_name'];
$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file($source, $target);
echo 'Файл успешно загружен!';
}
else
{
echo "Неправильный формат файла!";
}
}
?>
<form enctype="multipart/form-data" action="" method="POST">
<input type="file" name="fupload" size="50">
<input type="submit" name="act">
</form>
Ничего не проскочит?
groundhog
19.01.2009, 18:47
Весьма не безопасно... $_FILES['fupload']['type'] может быть подделан... Ты бы отрезал расширение у файла и сравнивал его... Ты же никаким образом сейчас не анализируешь расширение загружаемого файла, поэтому я могу передать тебе файл shell.php с типом application/msword и он нормально загрузится со всеми вытекающими отовсюду последствиями...
Shadow_p1raT
19.01.2009, 19:01
Тоже недавно интересовался этим,нашёл очень хорошую статейку
http://habrahabr.ru/blogs/php/44610/
Но тут только для картинок,но ничего нам не мешает переделать под .doc :)
ikolla$$
19.01.2009, 19:12
Еще приделай проверку на .doc, ну например preg_match('#(.*).[DOCdoc]#',$file);
VV)
Еще приделай проверку на .doc, ну например preg_match('#(.*).[DOCdoc]#',$file);
VV)
что мне мешает назвать файл
xz.olovulo.php.docdoc xDD
ikolla$$
19.01.2009, 19:29
preg_match('#(.*).[DOCdoc]{3}#',$file);
Вот тебе дей :P привет от m0hze-нарко-кодера
что мне мешает назвать файл
xz.olovulo.php.docdoc xDD
он мне тоже мешает! вот он зараза :D :D :D
Я вот хотел сделать небольшой тест на php,
Только незнаю как сделать так, чтобы при нажатии на кнопку "Начать тест" появлялись только вопросы и варианты,
А сама кнопочка "Начать тест" исчезала :confused:
Кто нибудь может помочь? :)
<?php
$SCRIPT_NAME=$_SERVER['SCRIPT_NAME'];?>
<form action="<? echo $SCRIPT_NAME?>" method="POST">
<?
echo '
<input type="submit" name="test" value="Начать тест!!!"><br>';
@$test=$_POST['test'];
if (isSet($test))
{
echo 'Вопрос1:<br><input type="submit" name="test1" value="a">
<br><input type="submit" name="test1" value="b">';
@$test1=$_POST['test1'];
}
elseif (isSet($test1))
{
echo 'Вопрос2:<br><input type="submit" name="test2" value="a">
<br><input type="submit" name="test2" value="b"></form>';
@$test2=$_POST['test2'];
} ?>
почему после всяких:
if ()
while ()
и т п
не ставится ";"?
ikolla$$
19.01.2009, 20:18
Потому что у php такй синтаксес а о функции а не действия,и за конец функции считаеться }
>.:!FrE!:.<
19.01.2009, 20:44
Сообщение от !{ra!{e/\/
Написал небольшой скрипт.(Очищает список mail: pass от строк с пустыми паролями или неправильно набранном email)
Бывает полезным когда особенно приходится работать с базами через прокси (меньше мусора больше скорости)
Для удаления дубликатов рекомендую использовать Text Duplicate Killer
код:
<table>
<tr>
<td valign=top><form method="post">
<TEXTAREA NAME=mails ROWS=30 COLS=50></TEXTAREA>
<br/><input type="submit">
</form>
<td nowarp>
<?
if (isset($_POST['mails']))
{
$mails=strtolower($_POST['mails']);
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}~i',$mails,$result);
echo join('<br/>',array_unique(
array_map('htmlspecialchars',$result[0])));
}
?>
</table>
Блин Gifts только щяс акки решил прогнать а он только mail`ы выдаёт в результате, пассы нет! Помогите доделать :rolleyes:
Ну,я имел ввиду использование функций API,как в Win Api.Просто из-за этого переходить на Дэльфи как-то не хочется ).Говорят,что на пхп системное приложение не напишешь(работа с мышкой,клавой и прочими устройствами).
preg_match('#(.*).[DOCdoc]{3}#',$file);
Вот тебе дей :P привет от m0hze-нарко-кодера
полный бред ты уж меня извини :p
точка ( . ) отвечает за любой символ, а не за точку) нужно екранировать твоя регулярка пропустить что угодно, например 1doc.php xDD
preg_match('/.+\.doc$/i',$file);
ikolla$$
19.01.2009, 21:08
Это
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}~i',$mails,$result);
заменить на:
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}:(.*)~i',$mails,$result);
мб заработает)
Pashkela
19.01.2009, 21:11
Самая короткая регулярка для выцепляния мыл:
preg_match_all("/\w+@\w+.\w+/", $mails,$result);
ребят,есть специальная тема для регулярок. Уясните на будующее.
Как вариант (рабочий причем) действительно транслировать через web-камеру
подробности здесь:
http://forum.xakep.ru/m_1338275/mpage_1/key_Web_camera_online/tm.htm
Спасиб за ссылку, хороший материал. А можно ли транслировать не с web-камеры, а с уже существующего сайта, онлайн канала?
почему не работает этот скрипт?
<?php
$a = 0;
while ($a <= 10)
{
echo "$a<br>\n";
$a = $a + 1;
}
$sum = 0;
$i = 1;
do
{
$sum = $sum + $i;
$i++;
while ($i <= 5)
echo "= - $sum";
}
?>
Скачай PHPDesigner и в дебагере проверь =\
Но ошибка у тебя синтаксическая:
do
{
$sum = $sum + $i;
$i++;
while ($i <= 5)
echo "= - $sum";
}
Тогда уж:
do
{
$sum = $sum + $i;
$i++;
echo "= - $sum";
}while ($i <= 5)
Да и не забывай про отступы, потом они тебе ой-как пригодятся!
Представь себе этот скрипт без отступов:
if($no_spaces){
$shift=0;
if($i>0){
$shift=10000;
for($sy=7;$sy<$fontfile_height-20;$sy+=1){
for($sx=$m['start']-1;$sx<$m['end'];$sx+=1){
$rgb=imagecolorat($font, $sx, $sy);
$opacity=$rgb>>24;
if($opacity<127){
$left=$sx-$m['start']+$x;
$py=$sy+$y;
if($py>$height) break;
for($px=min($left,$width-1);$px>$left-12 && $px>=0;$px-=1){
$color=imagecolorat($img, $px, $py) & 0xff;
if($color+$opacity<190){
if($shift>$left-$px){
$shift=$left-$px;
}
break;
}
}
break;
}
}
}
if($shift==10000){
$shift=mt_rand(4,6);
}
}
И как здесь разберешься, что куда ставить)?
if($no_spaces){
$shift=0;
if($i>0){
$shift=10000;
for($sy=7;$sy<$fontfile_height-20;$sy+=1){
for($sx=$m['start']-1;$sx<$m['end'];$sx+=1){
$rgb=imagecolorat($font, $sx, $sy);
$opacity=$rgb>>24;
if($opacity<127){
$left=$sx-$m['start']+$x;
$py=$sy+$y;
if($py>$height) break;
for($px=min($left,$width-1);$px>$left-12 && $px>=0;$px-=1){
$color=imagecolorat($img, $px, $py) & 0xff;
if($color+$opacity<190){
if($shift>$left-$px){
$shift=$left-$px;
}
break;
}
}
break;
}
}
}
if($shift==10000){
$shift=mt_rand(4,6);
}
>.:!FrE!:.<
19.01.2009, 22:33
Это
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}~i',$mails,$result);
заменить на:
preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}:(.*)~i',$mails,$result);
мб заработает)
Спасибо, заработало как надо;)
Скачай PHPDesigner и в дебагере проверь =\
Я вообще в notepad++ пишу, мне так удобней, а PHPDesigner у меня уже стоит, я им скрипт проверил, он показал только какую-то фигню с ?>....
Представь себе этот скрипт без отступов:
по мне так ентер самое то))
а скрипт у меня в уроке был, написан точно так как и там но не пашет, хотя в самом уроке работу скрипта не показали.
Я вот хотел сделать небольшой тест на php,
Только незнаю как сделать так, чтобы при нажатии на кнопку "Начать тест" появлялись только вопросы и варианты,
А сама кнопочка "Начать тест" исчезала :confused:
Кто нибудь может помочь? :)
<?php
$SCRIPT_NAME=$_SERVER['SCRIPT_NAME'];?>
<form action="<? echo $SCRIPT_NAME?>" method="POST">
<?
echo '
<input type="submit" name="test" value="Начать тест!!!"><br>';
@$test=$_POST['test'];
if (isSet($test))
{
echo 'Вопрос1:<br><input type="submit" name="test1" value="a">
<br><input type="submit" name="test1" value="b">';
@$test1=$_POST['test1'];
}
elseif (isSet($test1))
{
echo 'Вопрос2:<br><input type="submit" name="test2" value="a">
<br><input type="submit" name="test2" value="b"></form>';
@$test2=$_POST['test2'];
} ?>
Создай два пхп файла:
1. index.php
<form action="test.php" method="POST">
<input type="submit" name="test" value="Начать тест!!!">
</form>
test.php
<?php
$SCRIPT_NAME=$_SERVER['SCRIPT_NAME'];?>
<form action="<? echo $SCRIPT_NAME?>" method="POST">
<?php
@$test=$_POST['test'];
if (isSet($test))
{
echo 'Вопрос1:<br><input type="submit" name="test1" value="a">
<br><input type="submit" name="test1" value="b">';
@$test1=$_POST['test1'];
}
elseif (isSet($test1))
{
echo 'Вопрос2:<br><input type="submit" name="test2" value="a">
<br><input type="submit" name="test2" value="b"></form>';
@$test2=$_POST['test2'];
}
?> ;)
почему не работает этот скрипт?
<?php
$a = 0;
while ($a <= 10)
{
echo "$a<br>\n";
$a = $a + 1;
}
$sum = 0;
$i = 1;
do
{
$sum = $sum + $i;
$i++;
while ($i <= 5)
echo "= - $sum";
}
?>
Все я исправил ты в синтаксисе ошибку зделал
<?php
// первый вид
$a = 0;
while($a <= 10){
$a = $a + 1;
echo "$a<br>\n";
}
$sum = 0;
$i = 1;
// второй вид
do {
$sum = $sum + $i;
$i++;
echo "= - $sum";
} while ($i <= 5)
?>
А программой пользуйся PHPEdit 2.12.6.5491
Оч хорошая! ;)
geforce тебе не кажется что тот же код написан аж в 2-х постах ранее?
Не увидел! :(
где можно прочитать про запись условий в таком виде: "a ? b : c" ?
Да много где)
К примеру, здесь http://www.softtime.ru/bookphp/gl2_1.php
UPD:
Тернарный условный оператор
http://www.php.net/manual/ru/language.expressions.php
хост 110mb.com
можно ли там поставить поддержку set time limit 0 ?
удобный простой хост с пхп может кто посоветовать? чтоб set time limit поддерживал и curl
Shadow_p1raT
20.01.2009, 18:14
http://ueuo.com/
Как прочитать определеную часть строки из файла и назначить на эту часть строки переменную ?
Например
<?xml version='1.0' encoding='UTF-8'?>
<playlist version='1' xmlns='http://xspf.org/ns/0/'>
<trackList>
<track>
<creator>real.lan</creator>
<title>new_track</title>
<location>/./share/uploads/relanium_-_champion_sound_(original_mix).mp3</location>
<info></info>
</track>
</trackList>
</playlist>
И мне нужно выдернуть relanium_-_champion_sound_(original_mix) из строки и сделать вывод на переменную.
Чтоб переменная означала именно текст между <location>/./share/uploads/* .mp3</location> этим кодом
нет в ачате срабатывает же ;)
http://forum.antichat.ru/editpost.php?do=editpost&p=1067230
я не это имел ввиду, в самом названии аттачмента есть знак амперсанда когда тыкаешь на линк то получается что то вроде этого
download.php?name=blablabbla&blabla.zip
и выходить ошибка
Warning: filesize() [function.filesize]: stat failed for D:\htdocs\website\attachment\blablabbla in D:\htdocs\website\downloadfile.php on line 14
Warning: readfile(D:\htdocs\website\attachment\blablabbla) [function.readfile]: failed to open stream: No such file or directory in D:\htdocs\website\downloadfile.php on line 16
как видите когда полный путь к директории выходить то линк выхоидть не полностью после знака амперсанда режется
должно было быть
D:\htdocs\website\attachment\blablabbla&blabla.zip
а выходить с ошибкой
D:\htdocs\website\attachment\blablabbla
Как прочитать определеную часть строки из файла и назначить на эту часть строки переменную ?
Например
<?xml version='1.0' encoding='UTF-8'?>
<playlist version='1' xmlns='http://xspf.org/ns/0/'>
<trackList>
<track>
<creator>real.lan</creator>
<title>new_track</title>
<location>/./share/uploads/relanium_-_champion_sound_(original_mix).mp3</location>
<info></info>
</track>
</trackList>
</playlist>
И мне нужно выдернуть relanium_-_champion_sound_(original_mix) из строки и сделать вывод на переменную.
Чтоб переменная означала именно текст между <location>/./share/uploads/* .mp3</location> этим кодом
just use regexp
preg_match('/<location>.*\/(.*?)\.mp3<\/location>/',$text,$m);
echo $m[1];
И какая же будет переменная? + заранее
И какая же будет переменная? + заранее
$m[1]
=\
угу, тупанул =) Сори, сам одумался =)
ну мож кто поможет тогда сразу
что я тут написал не правильно?
<?
$file = "/share/playlist.xml";
if (file_exists($file)) :
$fh = fopen($file, "r");
preg_match('/<location>.*\/(.*?)\.mp3<\/location>/',$text,$m);
echo $m[1];
fclose($fh);
else :
print "Не удается открыть файл!";
endif;
?>
Грит файл открыть неможет =) Файл лежит в след. директории share как вы поняли =)
ну мож кто поможет тогда сразу
что я тут написал не правильно?
<?
$file = "/share/playlist.xml";
if (file_exists($file)) :
$fh = fopen($file, "r");
preg_match('/<location>.*\/(.*?)\.mp3<\/location>/',$text,$m);
echo $m[1];
fclose($fh);
else :
print "Не удается открыть файл!";
endif;
?>
Грит файл открыть неможет =) Файл лежит в след. директории share как вы поняли =)
$file = "/share/playlist.xml";
эт че за фигня.. в файл системе так не пишут)
$file = "./share/playlist.xml";
в догонку: а где само чтение из файла? о_О
mr.Babay
20.01.2009, 19:39
Здрасте! :)
Имеется вот такая проблемка:
Fatal error: Call to undefined function query_string() in /home/mobiles/domains/public_html/engine/modules/files/fileslastcomments.php on line 37
Кусок этого кривого кода:
$number = intval($config['comm_nummers']);
$user_query = query_string(strip_tags($_SERVER['QUERY_STRING']), array("cstart", "newsid", "cat"));
$cstart = intval($_REQUEST['cstart']);
$userid = intval($_REQUEST['userid']);
$cstart = 0;
if ($cstart < 0)
if ($cstart){
$cstart = $cstart - 1;
$cstart = $cstart * $number;
}
$i = $cstart;
$s = 0;
а хз, я начинающий =) Ща буду смареть..... всю ночь смареть буду =))))))))))) Напиши как правильно если не сложно =)))))
Вообщем на страничке должно быть просто видно название файла =)
Vinsik
$file = "./share/playlist.xml";
if(file_exists($file)) {
$text = file_get_contents($file);
preg_match('/<location>.*\/(.*?)\.mp3<\/location>/',$text,$m);
echo $m[1];
} else die('cann\'t open file!');
mr.Babay
20.01.2009, 19:55
не могу понять чё ему надо... функция query_string() определена вроде... посоветуете в чём может быть ошибка!? =)
не могу понять чё ему надо... функция query_string() определена вроде... посоветуете в чём может быть ошибка!? =)
определена вроде? это как :rolleyes:
mr.Babay
20.01.2009, 20:09
Можешь чем нибудь помочь или будешь к словам придираться дабы показать свою важность и образованность!?
Другими словами [3,14]здеть не по делу...
AkyHa_MaTaTa
20.01.2009, 20:21
не могу понять чё ему надо... функция query_string() определена вроде... посоветуете в чём может быть ошибка!? =)
перед
$number = intval($config['comm_nummers']);
if (function_exists('query_string')) {
echo "Функция сушествует query_string<br />\n";
} else {
echo "Функция несушествует query_string<br />\n";
}
но имхо ошибка свидетильствует что не определенна, и проблема именно в этом, может забыл где то что проиклюдить, либо используешь функцию до ее определения, то есть она определяеться после ее вызова, либо ее вообше нет
mr.Babay
20.01.2009, 20:40
перед
$number = intval($config['comm_nummers']);
if (function_exists('query_string')) {
echo "Функция сушествует query_string<br />\n";
} else {
echo "Функция несушествует query_string<br />\n";
}
но имхо ошибка свидетильствует что не определенна, и проблема именно в этом, может забыл где то что проиклюдить, либо используешь функцию до ее определения, то есть она определяеться после ее вызова, либо ее вообше нет
Ок! Спасибо тебе! :)
Бум искать :cool:
p.s. ...бывают же адекватные люди!
Хочу написать парсер для вконтакте с чего начать?
Не сочтите за флуд, но я оч давно уже хочу задать такой вопрос: кто-нибуть пишет скрипты средней сожности типо мыло регера, выучив пхп чисто сам без универа/школы и частного препода???
посоветуйте что лучше почитать про использование шаблонов?
вот на текущий момент есть свесртанная страничка голый хтмл
хотелось бы прикрутить на нее новости(постраничные),дале еще что-то и т.д.
я так понимаю проще всего исп шаблон и уже писать осн функции....
Не сочтите за флуд, но я оч давно уже хочу задать такой вопрос: кто-нибуть пишет скрипты средней сожности типо мыло регера, выучив пхп чисто сам без универа/школы и частного препода???
да конечно, сейчас полно пхп-самоучек)
посоветуйте что лучше почитать про использование шаблонов?
вот на текущий момент есть свесртанная страничка голый хтмл
хотелось бы прикрутить на нее новости(постраничные),дале еще что-то и т.д.
я так понимаю проще всего исп шаблон и уже писать осн функции....
http://www.smarty.net/manual/ru/
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot