PDA

Просмотр полной версии : [php] Новичкам: задаем вопросы


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66

mff
02.03.2010, 11:35
Ребят, помогите оптимизировать поиск на сайте:$result = mysql_query("SELECT * FROM `bd` WHERE `show`='1' AND `channel` LIKE '%".$search."%' OR `description_rus` LIKE '%".$search."%' OR `description_eng` LIKE '%".$search."%' OR `site` LIKE '%".$search."%' OR `tags` LIKE '%".$search."%' ORDER BY `channel` ASC");Как то криво он ищет :confused:


m0Hze, mailbrush наркоманы =) :D+1 :D

WNZRS
02.03.2010, 14:11
maybe:
$result = mysql_query("SELECT * FROM `bd` WHERE `show`='1' AND (`channel` LIKE '%".$search."%' OR `description_rus` LIKE '%".$search."%' OR `description_eng` LIKE '%".$search."%' OR `site` LIKE '%".$search."%' OR `tags` LIKE '%".$search."%') ORDER BY `channel` ASC");

AtomoS
02.03.2010, 15:58
есть папка: data
в папке лежат файлы: *.sql.php например: l2emu.sql.php, l2j.sql.php

нужно написать функцию которая будет создавать список: <select name="server_type">
<option value='l2emu'>l2emu [880rev.], l2open [685rev.]</option>
<option value='l2j'>l2j [3500rev.], l2jteon [800rev.]</option>
</select>
тоесть value берём из названия файла, а описание из файла, примеры ниже:

содержимое файла l2emu.sql.php# ================================================== ======================== #
# #
# Light_Engine | Список запросов в БД: l2emu [1880rev.], l2open [685rev.] #
# #
# ================================================== ======================== #
содержимое файла l2j.sql.php# ================================================== ======================== #
# #
# Light_Engine | Список запросов в БД: l2j [3500rev.], l2jteon [800rev.] #
# #
# ================================================== ======================== #

+casper+
02.03.2010, 16:37
каким запросом делать поиск по колонке?? мне например нужно проверять есть ли значение в базе или нет, если нет то записать, а если есть удалить. как наваять такую ф-ю?

b3
02.03.2010, 16:46
if($db->num_rows($db->query("SELECT * FROM users WHERE login='$_POST[login]';")) > 0) {
Form('Логин занят!');
exit;
}

Если правильно понял

SeNaP
02.03.2010, 18:24
Возможно ли как нибудь обратиться к переменной в классе в функции?
т.е.

class Nameclass{
function inc(){
$var ="asd";
}
}

Чтобы вывело переменную $var можно обратиться к функции inc(), но тогда придётся делать так

class Nameclass{
function inc(){
$var ="asd";
return $var;
}
}

А возможно ли как нибудь обойтись без return и без echo в самой функции?
т.е. как то так $this->inc()->$var :D
:o

Corpy
02.03.2010, 19:59
Здраствуйте задался написать скрипт:
который выдаёт пользователю рандомный пароль - типа dsjk12@
Начал писать и зашёл немного в тупик.
Создал три массива: в 1-ом массиве цифры 1-9, во втором массиве буквы англ регистра, в третьем немного спецсимволов.По правильному ли я пути пошёл.
Напишите пожалуйста какие инструменты (Функции и т.п.) php нужны что бы сделать скрипт.
Готовые скрипты не пишите пожалуйста.Хочется самому сделать с некоторой помощью)
Заранее Благодарен

Compton
02.03.2010, 20:09
<?php
$name_array = array('a','b','c');
$rand = rand(0,2);
echo $name_array["$rand"];
?>

вот рандомный вывод из массива,думаю дальше додумаешь

Redwood
02.03.2010, 20:12
Здраствуйте задался написать скрипт:
который выдаёт пользователю рандомный пароль - типа dsjk12@
Начал писать и зашёл немного в тупик.
Создал три массива: в 1-ом массиве цифры 1-9, во втором массиве буквы англ регистра, в третьем немного спецсимволов.По правильному ли я пути пошёл.
Напишите пожалуйста какие инструменты (Функции и т.п.) php нужны что бы сделать скрипт.
Готовые скрипты не пишите пожалуйста.Хочется самому сделать с некоторой помощью)
Заранее Благодарен
Создаем массив символов, циклом for генерируем пароль, функицей rand вычисляем случайный индекс массива и выводим его

Corpy
02.03.2010, 20:17
Спасибо большое Redwood & Compton

Deathdreams
02.03.2010, 20:41
<?php
$name_array = array('a','b','c');
$rand = rand(0,2);
echo $name_array["$rand"];
?>

вот рандомный вывод из массива,думаю дальше додумаешь


$var = array('a', 'b', 'c');

echo $var[array_rand($var)];

Deathdreams
02.03.2010, 20:44
Возможно ли как нибудь обратиться к переменной в классе в функции?
т.е.

class Nameclass{
function inc(){
$var ="asd";
}
}

Чтобы вывело переменную $var можно обратиться к функции inc(), но тогда придётся делать так

class Nameclass{
function inc(){
$var ="asd";
return $var;
}
}

А возможно ли как нибудь обойтись без return и без echo в самой функции?
т.е. как то так $this->inc()->$var :D
:o

class Nameclass{
var $var;

function inc(){

$this->var ="asd";

}

}
$class = new Nameclass();

echo $class->var;

Nosfer
02.03.2010, 21:03
Есть массив, состоящий из нескольких сотен уник урлов.
Задача: оставить в массиве урлы с наименьшей степенью вложенности (т.е. меньшей длины), а во втором массиве подсчитать количество дублей для определенного домена.

Т.е. имея:

1) http://yandex.ru/goog/ddd
2) http://yandex.ru/goog/ddd/dd
3) http://yandex.ru/goog/ddd?=ddd
4) http://google.com/5
5) http://mail.ru/

На выходе получим 2 массива:

1й:

1) http://yandex.ru/goog/ddd
2) http://google.com/5
3) http://mail.ru/



1) 3
2) 1
3) 1

Как сделать?

Pashkela
02.03.2010, 22:42
вот еще, сам посчитаешь))

<pre>
<?php
$domen = file('123.txt');
sort($domen);
print_r ($domen);
foreach ($domen as $key=>$value) {
preg_match('/^http:\/\/?([^\/]+)/i',$value,$h);
if ($temp == $h[1]) $keys[$key] = $value;
$temp = $h[1];
}
#print_r ($keys);
foreach ($keys as $key=>$value) {
if (strlen($value) > strlen($domen[$key-1])) unset($domen[$key]);
}
print_r ($domen);
?>
</pre>


PS: Сколько совпадений было по каждому домену видно по разнице в ключах итогового массива

+casper+
02.03.2010, 23:50
где тут ошибки?


allow from all

php_value register_long_arrays on
php_value register_globals on
php_value display_errors off
php_value upload_max_filesize 2M
php_value post_max_size 2M

Pashkela
03.03.2010, 00:03
в ДНК, вот тут:

php_value register_globals on

должно быть off

+casper+
03.03.2010, 00:18
Pashkela

у меня только так работает, раскоментирую любую страчку - 500
allow from all

#php_value register_long_arrays on
#php_value register_globals on
#php_value display_errors off
#php_value upload_max_filesize 2M
#php_value post_max_size 2M

Pashkela
03.03.2010, 00:20
значит скорее всего фрихост и такие настройки разрешено делать только из php.ini, доступа к которому у тебя конечно нет. И правильно хостер делает.

+casper+
03.03.2010, 00:35
Pashkela, нихрена не фрихост. на dle и wordpress хитасес пашет.

Pashkela
03.03.2010, 00:39
вопросов больше не имею, раз dle и wordpress - тогда я пас, это за гранью моих скромных познаний

PS: Я сначала подумал у тебя phpbb какой-нибудь стремный, 2-ая ветка

REBUUS
03.03.2010, 01:22
как узнать url страницы на которой нахожусь в пхп , echo $_SERVER['REQUEST_URI'] ; не показывает

или хотя бы узнать доменное имя. дело в том что , мне на локолхосте файл один и надо узнавать с какого адреса его запустили , с localhost, second или еще с какого ни будь

b3
03.03.2010, 03:56
как узнать url страницы на которой нахожусь в пхп , echo $_SERVER['REQUEST_URI'] ; не показывает

или хотя бы узнать доменное имя. дело в том что , мне на локолхосте файл один и надо узнавать с какого адреса его запустили , с localhost, second или еще с какого ни будь
<?=$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];?>

AtomoS
03.03.2010, 06:55
по этому вопросу подскажет кто? (http://forum.antichat.ru/showpost.php?p=1947521&postcount=15019)

LStr1ke
03.03.2010, 08:50
по этому вопросу подскажет кто? (http://forum.antichat.ru/showpost.php?p=1947521&postcount=15019)
Утро. Держи, что получилось:
<?php
$path = "data"; //Директория с файлами
$dir=getcwd()."/".$path; //Получаем абсолютную директорию
$files=scandir($dir); //Получаем список файлов
$pref = ".sql.php"; //префикc файлов

echo "<select name=\"server_type\">\n";
foreach($files as $file) {
if(preg_match("#(.*)".$pref."#i",$file)) {
$content = file_get_contents($path."/".$file);
if(preg_match("|(Список запросов в БД: )(.*) #|i",$content,$out)) {
echo "<option value='".str_replace($pref,'',$file)."'>".$out[2]."</option>\n"; //соб
}
}
}
echo "</select>";
?>
На выходе:

<select name="server_type">
<option value='l2emu'>l2emu [1880rev.], l2open [685rev.]</option>
<option value='l2j'>l2j [3500rev.], l2jteon [800rev.]</option>
</select>

Deathdreams
04.03.2010, 18:00
<?php
if(preg_match("|(Список запросов в БД: )(.*) #|i",$content,$out)) {
?>
А если сам запрос содержит символ "|".
Что делать будешь ?
Выплюнет фатал: неверный модификатор.

LStr1ke
04.03.2010, 19:30
А если сам запрос содержит символ "|".
Что делать будешь ?
Выплюнет фатал: неверный модификатор.
А какбэ там уже присутсвует | . Если ты конечно про $content. Потому как какой именно "запрос" ты имел ввиду я не понял.

xxxBARTONxxx
04.03.2010, 22:02
подскажите пожалуйста как сделать незаметный редирект с несуществующего файла/папки
то есть мне нужно что бы при вводе например несуществующей папки http://мой_сайт.ru/cgi-bin/auth пользователя перекидывало на главную страничу http://мой_сайт.ru/index.html но без изменения адресе в адресной строке

пробовал сделать файлом .htaccess
вписал в него ErrorDocument 404 /index.html но редирект происходит только когда в адресной строке пишеш http://мой_сайт.ru/ + любое имя файла, а мне нужно что бы со всех файлов и папок перенаправлял на главную

надеюсь понятно написал =)
заранее спасибо =)

programming
04.03.2010, 22:15
Можно пример парсинга из переменной $html всех тегов p DOM'ом?(в массив)
И нужны ли какие-то доп библиотеки для работы с DOM?

WNZRS
04.03.2010, 22:24
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ index.html

restart_05
04.03.2010, 22:30
Как реализовать историю входов с определенного ip на php??

xxxBARTONxxx
05.03.2010, 00:00
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ index.html

отображается главная страница но почему без графики и стилей, почему так может быть?((

p/s ошибку свою понел! у меня были пути к картинкам и стилям прописаны в таком виде /images/0.gif, а нужно указать путь целиком, чтобы мне все не переделывать, есть ещё другой способ!?

lexbzk
05.03.2010, 02:09
отображается главная страница но почему без графики и стилей, почему так может быть?((

p/s ошибку свою понел! у меня были пути к картинкам и стилям прописаны в таком виде /images/0.gif, а нужно указать путь целиком, чтобы мне все не переделывать, есть ещё другой способ!?
Нету как откроет картинку если путь не правельный.Поменять все минут 5 максимум не ленись).

xxxBARTONxxx
05.03.2010, 02:43
пути сменил, картинки и стиль появился))
но теперь проблема такая))

на главной странице у меня авторизация (login.php запись данных в файл, после кидает на другую страницу) теперь если жмешь на кнопочку авторизироваться кидает на главную страницу, тоесть авторизация не происходит =) как мне это исправить?))

путь к файлу login.php прописал так http://мой_сайт/login.php
если прописать так /login.php то при написании в адресной строке http://мой_сайт/любая_папка/ путь к файлу авторизации изменяется на http://мой_сайт/любая_папка/login.php а мне нужно именно http://мой_сайт/login.php

вроде понятно написал)))))))
выручайте =)

+casper+
05.03.2010, 05:56
как узнать последнюю запись в колонке, например id?

mysql

Doom123
05.03.2010, 13:28
SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 1

WNZRS
05.03.2010, 14:05
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/login.php
RewriteRule ^(.*)$ index.html

Fepsis
06.03.2010, 01:23
Есть текст:
<comment>
это первый блок,
который нужно вытащить
из текста
</comment>

<comment>
блок
номер
два
</comment>

<comment>
блок
номер
три
</comment>

В общем хотелось узнать, реально ли пробежаться по этому тексту регуляркой preg_match_all, чтобы выдернуть эти блоки..?! Блоки содержат текст и теги, но самое главное - они многострочные...

Pashkela
06.03.2010, 01:28
preg_match_all('#<comment>(.*)</comment>#Us', $text, $result);
print_r ($result);

Vlad&slav
06.03.2010, 15:16
а как правильней сделать?

$text = fread($fp, 1000000);

or

while (!feof($fp))
{
$text .= fread($fp, 8192);
}



preg_match_all('#<comment>(.*)</comment>#Us', $text, $result);
print_r ($result);

мб <\/comment>#im ?

Compton
06.03.2010, 15:23
мб <\/comment>#im ?
какую жопу экранизировать, если регулярка стоит между "#"

Deathdreams
06.03.2010, 16:07
а как правильней сделать?

$text = fread($fp, 1000000);

or

while (!feof($fp))
{
$text .= fread($fp, 8192);
}



while (!feof($fp))
{
$text .= fread($fp,1024);
}

geforse
06.03.2010, 19:21
Помогите разобраться с vbulletin

Пользователь на странице, не имеющей отношения, к форуму вводит логин/пароль.
Как подключиться к БД форума (доступ к БД есть) и проверить верны ли данные ? (и не забыть про 15-минутное ограничение)....

ZenstatioN
06.03.2010, 19:51
Помогите разобраться с vbulletin
Как подключиться к БД форума (доступ к БД есть) и проверить верны ли данные ? (и не забыть про 15-минутное ограничение)....
И не забыть про куки..

А что если сделать как нить так (это сорсы авторизации форума)


form action="forum/login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
<script type="text/javascript" src="forum/clientscript/vbulletin_md5.js?v=374"></script>
<table cellpadding="0" cellspacing="3" border="0">
<tr>
<td class="smallfont"><label for="navbar_username">Имя</label></td>
<td><input type="text" class="bginput" style="font-size: 11px" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="Имя" onfocus="if (this.value == 'Имя') this.value = '';" /></td>
<td class="smallfont" colspan="2" nowrap="nowrap"><label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" tabindex="103" id="cb_cookieuser_navbar" accesskey="c" />Запомнить?</label></td>
</tr>
<tr>
<td class="smallfont"><label for="navbar_password">Пароль</label></td>
<td><input type="password" class="bginput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" tabindex="102" /></td>
<td><input type="submit" class="button" value="Вход" tabindex="104" title="Введите ваше имя пользователя и пароль, чтобы войти, или нажмите кнопку 'Регистрация', чтобы зарегистрироваться." accesskey="s" /></td>
</tr>
</table>
<input type="hidden" name="s" value="" />
<input type="hidden" name="securitytoken" value="guest" />
<input type="hidden" name="do" value="login" />
<input type="hidden" name="vb_login_md5password" />
<input type="hidden" name="vb_login_md5password_utf" />
</form>
<!-- / login form -->

</td>



</tr>
</table>

geforse
06.03.2010, 20:10
ZenstatioN, для авторизации на форуме, можно просто отсылать POST и авторизация пройдёт успешно, НО ip у скрипта авторизации не меняется, поэтому будет часто появляться предупреждение о 15-ти минутной паузе.

dokwill
06.03.2010, 22:39
Приветствую всех
нужно написать скрипт - который будет из html страницы выдергивать
то что между
<title></title> и еще парой мест..
и вставлять все в один файл типа тхт...
как сделать подскажите плиз

Compton
06.03.2010, 22:41
dokwill preg_match_all

djpasica
06.03.2010, 22:59
Почему при написании <?php session_start(); ?> Выдается ошибка
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at W:\home\localhost\www\...

wildshaman
06.03.2010, 23:02
Потому что скрипт нажо сохранить в utf без BOM

restart_05
06.03.2010, 23:08
Имеется таблица в mysql, содержащая параметр category. В каждом случае этот параметр различен, к примеру музыка, авто, учеба, спорт, фильмы, фото, видео и т.д. Как выбрать 5 самых востребованных категорий ?

ArteMgm
07.03.2010, 00:31
привт всем, помогите сделать исчезновение ссылки на время

paran03d
07.03.2010, 02:03
Есть небольшая проблема пытаюсь заменить в базе текс, если подставляю в UPDATE просто строку типа 'ffff' , то все нормально заменяется ,но когда подставляю переменную $s3 то нехнера не получается.... Help plz....

вот кусок кода


$query = "SELECT story FROM `post` WHERE id='20'";
$res = mysql_query($query);
$row = mysql_fetch_array($res);

$s1="aaaa";
$s=$row['story'];
$s2="bbbbbbb";
$idd=$row['id'];
$s3=str_replace($s1,$s2,$s);

echo $s3."<br>\n"; //замена производитсья правильно

mysql_query("UPDATE post
SET story=$s3 //также пробовал и в ковычках
WHERE id='20' ");


echo $row['story']."<br>\n"; // в итоге остается первоночальная строка

TolkiN
07.03.2010, 05:47
Всем привет! Буду благодарен, если кто-нибудь подскажет как технически реализовать подобный клоакинг: для юзеров, пришедших с поисковика (гугл) показываем нужную нам страницу, а если юзер просто вбивает урл в браузер, то показываем нормальный сайт. Спасибо заранее!

Fepsis
07.03.2010, 06:10
Всем привет! Буду благодарен, если кто-нибудь подскажет как технически реализовать подобный клоакинг: для юзеров, пришедших с поисковика (гугл) показываем нужную нам страницу, а если юзер просто вбивает урл в браузер, то показываем нормальный сайт. Спасибо заранее!
Типа того:
<?PHP

$referer = $_SERVER[HTTP_REFERER];

if(preg_match("/google/", $referer))
{
echo 'Нужная нам страница';
}
else
{
echo 'Нормальный сайт';
}

?>

budden
07.03.2010, 12:00
Нетривиальная задача, подскажите как решить, плиз:

Имеется строка $string = '79777F8084' - это в хексе.
нужно вычесть из нее (в хексе опять же) строку $minus = '48454C4C4F', получится:
$result = '3132333435', т.е. 79 - 48 = 31, 77-45=32,...

Как это сделать на пхп (реализовать вычитание в хексе таких строк)?

Gifts
07.03.2010, 14:40
budden для небольших чисел (до FFFF FFFF на 32 битных системах и FFFF FFFF FFFF FFFF для 64-битных) можно использовать:
$a = '777F8084';
$b = '454C4C4F';

echo sprintf("%X",intval($a,16)-intval($b,16));

Для строк произвольной длинны - получился такой вот треш код:
$a = '79777F8084';
$b = '48454C4C4F';


function hex_sub($a,$b)
{
if (!function_exists('hex_sub_1')) {
function hex_sub_1($a,$b)
{
global $zaem;
$a = intval($a,16);
$b = intval($b,16);
if ($a < $b)
{
$out = $a - $b + 256 - $zaem;
$zaem = 1;
} else $out = $a - $b - $zaem;
return sprintf("%X", $out);
}
}
if (!is_string($a) or !is_string($b)) return false;
$out = '';
$zaem = 0;
$len = max(strlen($a),strlen($b));
$len = $len % 2 ? $len+1 : $len;
$a = str_split(str_pad($a, $len, '0', STR_PAD_LEFT), 2);
$b = str_split(str_pad($b, $len, '0', STR_PAD_LEFT), 2);
$a_part = end($a);
$b_part = end($b);
$out = hex_sub_1($a_part,$b_part);
while (($a_part = prev($a))!==false)
{
$b_part = prev($b);
$out = hex_sub_1($a_part,$b_part).$out;
}
return $out;
}
echo hex_sub($a,$b);

paran03d Аналогичная ситуация - вы прочитали книгу, потом автор сделал исправление в ней. Как вы думаете - в вашей памяти появится это исправление, пока вы снова не прочтете исправленный вариант книги? Плюс сделайте вывод echo mysql_error(); это покажет есть ли в запросе UPDATE ошибка

restart_05 Может все же не параметр, а столбец? СУБД - абсолютно безинтересно сколько запросов делается к определенной записи, если ей не сказали следить за этим, скажем, с помощью триггеров. Сделайте новый столбец, например, `relevancy` который будете инкрементировать по какому-то условию, например по доступу к опр. странице. А дальше SQL запросом выбирайте по этому столбцу нужные данные, например 'SELECT * FROM `table` ORDER BY `relevancy` DESC LIMIT 5'

N2kroot
07.03.2010, 15:33
Помогите,я установил скрипт, а в БД отсутствуют таблицы.
Пробувол сам ставить - фигня,там надо смотреть код.
Полазел,нашёл вот что:
$inf_newtable[12] = DB_ZWAR_SQUADS." (
group_id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
group_name varchar(100) NOT NULL default '',
group_wars tinyint(3) UNSIGNED NOT NULL default '0',
group_games varchar(100) NOT NULL default '',
group_info text NOT NULL default '',
group_logo varchar(100) NOT NULL default '',
group_listimage varchar(100) NOT NULL default '',
group_joinpass varchar(32) NOT NULL default '',
PRIMARY KEY (group_id)
) TYPE=MyISAM;";
Название совпадает с названием недостающей таблицы..Как её создать? Из этого кода?

KrafT
07.03.2010, 16:25
Помогите народ :) Почэму он дажэ когда филе пут контентс делает страница 0 байтав весит ? в чём трабла ?

$login = curl_init("https://www.lastfm.ru/login");
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$headers = array
(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
'Accept-Encoding: gzip,deflate',
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'

);
curl_setopt($login, CURLOPT_REFERER, 'http://lastfm.ru/');
curl_setopt($login, CURLOPT_HEADER, 1);
curl_setopt($login, CURLOPT_PROXY, $proxy2);
curl_setopt($login, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($login, CURLOPT_COOKIEJAR, 'cookie.txt');
$log = curl_exec($login);
curl_close($login);

file_put_contents('D:\xxx\lastfm2\login.html', $log);

b3
07.03.2010, 16:29
Изза HTTPS ты прежде чем писать в файл выведи в браузер результат, увидел бы что страница ничего не отображает.
CURLOPT_SSL_VERIFYPEER
CURLOPT_SSL_VERIFYHOST

geforse
07.03.2010, 16:46
Как записать данные в базу из textarea ?
1 строка в texarea = 1 записи в БД

Много чего пробовал, постоянно все строки из textarea пишутся в одну запись БД :(

ArteMgm
07.03.2010, 17:03
Люди помогите , есть онлайн игра с мобами нужно сделать исчезновение моба на время после того как его убили

ArteMgm
07.03.2010, 17:05
моб - монстр

phpdreamer
07.03.2010, 17:08
geforse, что-то вроде
$massiv = explode("\n",$tArea);

обрати внимание, что в двойных кавычках

KrafT
07.03.2010, 17:12
Крч попробавал так но сёравно 0 кб весит филе пут контентс =[[ в чём трабл?

$login = curl_init("https://www.lastfm.ru/login");
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$headers = array
(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
'Accept-Encoding: gzip,deflate',
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'

);
curl_setopt($login, CURLOPT_REFERER, 'http://lastfm.ru/');
curl_setopt($login, CURLOPT_HEADER, 1);
curl_setopt($login, CURLOPT_PROXY, $proxy2);
curl_setopt($login, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($login, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($login, CURLOPT_SSL_VERIFYPEER, 'true');
curl_setopt($login, CURLOPT_SSL_VERIFYHOST, '2');


$log = curl_exec($login);
curl_close($login);

file_put_contents('D:\xxx\lastfm2\login.html',$log );

KrafT
07.03.2010, 17:13
Крч попробавал так но сёравно 0 кб весит филе пут контентс =[[ в чём трабл?

$login = curl_init("https://www.lastfm.ru/login");
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$headers = array
(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
'Accept-Encoding: gzip,deflate',
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'

);
curl_setopt($login, CURLOPT_REFERER, 'http://lastfm.ru/');
curl_setopt($login, CURLOPT_HEADER, 1);
curl_setopt($login, CURLOPT_PROXY, $proxy2);
curl_setopt($login, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($login, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($login, CURLOPT_SSL_VERIFYPEER, 'true');
curl_setopt($login, CURLOPT_SSL_VERIFYHOST, '2');


$log = curl_exec($login);
curl_close($login);

file_put_contents('D:\xxx\lastfm2\login.html',$log );
разобралса

phpdreamer
07.03.2010, 18:24
посоветуйте фреймворк с хорошей полной русской документацией...
Zend пока не идет(( надо начать с легкого

ArteMgm
07.03.2010, 18:29
phpdreamer Ты мне?

phpdreamer
07.03.2010, 19:11
тебе я ничего не писал =)

m0Hze
07.03.2010, 19:38
посоветуйте фреймворк с хорошей полной русской документацией...
Zend пока не идет(( надо начать с легкого
CakePHP

diGriz
07.03.2010, 20:42
Сообщение от phpdreamer
посоветуйте фреймворк с хорошей полной русской документацией...
Zend пока не идет(( надо начать с легкого

Посмотри Codeigniter

b3
07.03.2010, 21:02
Сообщение от phpdreamer
посоветуйте фреймворк с хорошей полной русской документацией...
Zend пока не идет(( надо начать с легкого
Yii
http://yiiframework.ru/doc/guide/ru/quickstart.first-app

Что мне понравилось очень ето что там сразу jQuery есть.

programming
08.03.2010, 00:26
Есть переменная $site
В ней лежит урл. В урле есть символы /
Нужно предворить все / символом \
Cпасибо

phpdreamer
08.03.2010, 00:40
$site = str_replace('/','\\', $site);

если "http://" все таки должны быть // а не\\, то добавь:

$site = str_replace('http:\\\\','http://', $site);

WNZRS
08.03.2010, 00:42
$site = str_replace('/', '\\', $site);

b3
08.03.2010, 10:39
Если правильно понял, то нужно экранировать


<?php
$str = 'https://forum.antichat.ru/threadedpost1962274.html';
echo addcslashes($str,'/');
?>

Вывод
https:\/\/forum.antichat.ru\/threadedpost1962274.html

SeNaP
08.03.2010, 12:35
Всем привет, возник такой опрос, при установки ubuntu 9.10 решил поставить apache
Установил php5 и т.д.
Поставил скрипт, скрипт с капчей, но на капче не выводяться изображения, выводит такую ошибку

Fatal error: Call to undefined function imagefilter() in /var/www/code.php on line 32

Может быть я просто забыл установить какой нибудь модуль?
Подскажите пожалуйсто

b3
08.03.2010, 12:38
gd2 ставил?

SeNaP
08.03.2010, 12:46
ставил только вот это
sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql
Установил php5-gd не помогло :(


GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

Konqi
08.03.2010, 13:22
попробуй через xampp

AtomoS
08.03.2010, 13:23
Ребятки не подкините мощную функцию по фильтрации переменных от sql & php инъекций?

Konqi
08.03.2010, 13:26
Ребятки не подкините мощную функцию по фильтрации переменных от sql & php инъекций?

eregi_replace() :D

b3
08.03.2010, 15:07
Konqi
Ты юморнул или на полном серъезе?
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
К тому же она дырявая.

phpdreamer
08.03.2010, 16:13
mysql_real_escape_string()
http://forum.antichat.ru/thread30641.html

Qb1024
08.03.2010, 16:36
Как число из time() преобразовать в нормальную дату?

wildshaman
08.03.2010, 16:44
<?php
echo date('l dS F Y h:i:s A', time());
?>

http://www.php.ru/manual/function.date.html

SeNaP
08.03.2010, 17:23
как из БД вывести только 2 записи из N , где N >=2
mysql_query("SELECT * FROM `tttt` ORDER BY `id` DESC ");

Qb1024
08.03.2010, 17:30
как из БД вывести только 2 записи из N , где N >=2
mysql_query("SELECT * FROM `tttt` ORDER BY `id` DESC ");
SELECT *
FROM `tttt`
LIMIT 0 , 2

wildshaman
08.03.2010, 17:31
mysql_query("SELECT * FROM `tttt` ORDER BY `id` DESC LIMIT 1,2 ");

1,2 - начало и длина

SeNaP
08.03.2010, 17:33
Благодарю

Qb1024
08.03.2010, 17:35
А почему нет разницы в запросах LIMIT 0 , 2 и LIMIT 1 , 2 ?

phpdreamer
08.03.2010, 18:12
пытаюсь поменять статус вконтакте...
вот данные со сниффера:
----------------------------------------------------------
http://vkontakte.ru/profile.php

POST /profile.php HTTP/1.1
Host: vkontakte.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://vkontakte.ru/id(мой ай ди не скажу)
Content-Length: 94
Cookie: remixchk=5; remixclosed_tabs=0; remixsid=86b4b2a30...(тут куки - светить не буду); audio_vol=100
Pragma: no-cache
Cache-Control: no-cache
setactivity=статус&activityhash=3973e74d50e964_и_так_далее
HTTP/1.1 200 OK
Server: nginx/0.7.59
Date: Mon, 08 Mar 2010 12:37:17 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny3
Pragma: no-cache
Cache-Control: no-store
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 40
----------------------------------------------------------


а вот код, который не пашет(((


$stat = 'статус';
$cookie = "remixchk=5; remixclosed_tabs=0; remixsid=86b4b2a303c32544cfb355r_тут кукисы_в_таком_виде(взяты_с _сниффера-плагина_на_мозиле)_...eda08e; audio_vol=100";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://vkontakte.ru/profile.php');
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)");
curl_setopt($curl, CURLOPT_FAILONERROR, 1);
curl_setopt($curl, CURLOPT_REFERER, 'http://vkontakte.ru/id(айди)');
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, 'setactivity=' . urlencode($stat) ); //тут пробовал добавлять свой activityhash - не помогло


$result = curl_exec($curl);
curl_close($curl);
echo $result;

LStr1ke
08.03.2010, 19:00
А какой ответ от кантакта?

phpdreamer
08.03.2010, 19:08
пустая страница...
пробовал если передавать эти параметры через ГЕТ из браузера, когда я залогинен - работает
а из скрипта ни гет ни пост...

ЗЫ: с курлом все в порядке и скрипт выполняется до конца

StFooz
08.03.2010, 19:22
Помогите, задача заключается в следущем в таблице хранятся новости (СУБД MySQL, поля id title text) нужно сделать вывод этих новостей по страницам (10 новостей на одной станице и т.д.)

phpdreamer
08.03.2010, 19:48
http://www.google.com/search?q=mysql+постраничный+вывод

programming
08.03.2010, 20:33
Каким образом можно реализовать такую вещь:
сёрфинг по интернету через скрипт от ip юзера, а не от ip сервера?
Без iframe.

phpdreamer
08.03.2010, 21:03
Каким образом можно реализовать такую вещь:
сёрфинг по интернету через скрипт от ip юзера, а не от ip сервера?
Без iframe.
анонимайзер(/прокси) без анонимности?
можно хранить логи какой ай пи куда ходил

programming
08.03.2010, 21:34
анонимайзер(/прокси) без анонимности?
можно хранить логи какой ай пи куда ходил
вообще без прокси

phpdreamer
08.03.2010, 21:44
тогда Mozilla Firefox
PS: даже подсказка на ачате высвечивается - что такое прокси

phpdreamer
08.03.2010, 22:55
свой вопрос по поводу смены статуса вконтакте снимаю

вот почему (http://www.phpdreamer.ru/blog/index.php?news=15)

SeNaP
09.03.2010, 13:56
$upd = curl_init();

curl_setopt($upd, CURLOPT_URL, "http://".$user['url']);

curl_setopt($upd, CURLOPT_RETURNTRANSFER, 1);

$ress = curl_exec($upd);

curl_close($upd);

$ress = preg_replace('#(<meta name="description" content=")(.*)(">)#iU','$2',$ress);
echo $ress;

Выводит полностью весь сайт, а как вывести, то что вырезается регуляркой?

budden
09.03.2010, 14:10
Для строк произвольной длинны - получился такой вот треш код:
$a = '79777F8084';
$b = '48454C4C4F';


function hex_sub($a,$b)
{
if (!function_exists('hex_sub_1')) {
function hex_sub_1($a,$b)
{
global $zaem;
$a = intval($a,16);
$b = intval($b,16);
if ($a < $b)
{
$out = $a - $b + 256 - $zaem;
$zaem = 1;
} else $out = $a - $b - $zaem;
return sprintf("%X", $out);
}
}
if (!is_string($a) or !is_string($b)) return false;
$out = '';
$zaem = 0;
$len = max(strlen($a),strlen($b));
$len = $len % 2 ? $len+1 : $len;
$a = str_split(str_pad($a, $len, '0', STR_PAD_LEFT), 2);
$b = str_split(str_pad($b, $len, '0', STR_PAD_LEFT), 2);
$a_part = end($a);
$b_part = end($b);
$out = hex_sub_1($a_part,$b_part);
while (($a_part = prev($a))!==false)
{
$b_part = prev($b);
$out = hex_sub_1($a_part,$b_part).$out;
}
return $out;
}
echo hex_sub($a,$b);


Спасибо, Gifts!
Да, у меня строки по 32 символа, можно еще попрошу, если есть время, посмотрите - правилньо ли я преобразовал функцию, чтобы она считала сумму, а не разность?

if (!function_exists('hex_add_1')) {
function hex_add_1($a,$b)
{
global $zaem;
$a = intval($a,16);
$b = intval($b,16);
if ($a+$b>255)
{
$out = $a + $b - 256 + $zaem; //bilo: $a - $b + 256 - $zaem;
$zaem = 1;
} else
{
$out = $a + $b + $zaem; //bilo: $a - $b - $zaem;
$zaem = 0; // ne bilo :)
}
return sprintf("%X", $out);
}
}

Сразу скажу, что вижу, что не пройдет обработка суммы чисел, вида FF + FF - т.е. "один в уме" в самом первом элементе массива - у меня такого не будет.

гаррет-тень
09.03.2010, 14:59
if ($cp == 1) {subdomain = ;"} что неправильно в этой строке?

Fepsis
09.03.2010, 15:02
if ($cp == 1) {$subdomain = '';}

гаррет-тень
09.03.2010, 15:05
не понял

Gifts
09.03.2010, 15:21
budden в условии должно быть if ($a+$b+$zaem > 255). И лучше использовать значащие переменные, то есть $zaem назвать $overflow, например

wildshaman
09.03.2010, 15:25
if ($cp == 1) {subdomain = ;"} что неправильно в этой строке?
Переменные начинаются с $
; ставится в конце сроки
Ставятся либо две двойных кавычки, либо две одинарных
Тобишь правильно
$subdomain = "";

гаррет-тень
09.03.2010, 15:27
спасибо) про переменную незаметил, не внимательно( недавно учить начал...

budden
09.03.2010, 15:29
budden в условии должно быть if ($a+$b+$zaem > 255). И лучше использовать значащие переменные, то есть $zaem назвать $overflow, например
Точно, большое спасибо.

гаррет-тень
09.03.2010, 15:32
а в таком setcookie('passwd', $_POST['passwd'], time()+(30*24*3600),

b3
09.03.2010, 16:00
Скачай редактор кода с подсветкой синтаксиса, увидиш где забываеш ковычки, скобки, как в этом случае:
setcookie('passwd', $_POST['passwd'], time()+(30*24*3600))

AdmSmsTel
09.03.2010, 16:28
Нe чистит cookie почему то этот код
<?php
header("Location:/index.php");
foreach($_COOKIE as $key => $value)
setcookie($key, false, time() - 3600);
exit();
?>
как сделать чтоб чистил? :rolleyes:

гаррет-тень
09.03.2010, 16:31
Скачай редактор кода с подсветкой синтаксиса, увидиш где забываеш ковычки, скобки, как в этом случае:
setcookie('passwd', $_POST['passwd'], time()+(30*24*3600))
извиняюсь, немного не дописал: setcookie('passwd', $_POST['zipcode'], time()+(30*24*3600),
'/', $subdomain);

Failure
09.03.2010, 16:36
как сделать чтоб чистил?
убрать Location, если скрипт находится на any_file.php то ты просто редиректишься на индекс, если в индексе то это будет зацикленный редирект, и куки никогда не очистятся

AdmSmsTel
09.03.2010, 18:32
убрать Location, если скрипт находится на any_file.php то ты просто редиректишься на индекс, если в индексе то это будет зацикленный редирект, и куки никогда не очистятся

можеш поправить скрипт чтоб куки удалялись :rolleyes:

phpdreamer
09.03.2010, 19:49
можеш поправить скрипт чтоб куки удалялись :rolleyes:
session_start();//инициализирует работу с сессиями
session_destroy();//уничтожает сессию
//вот и все... можно еще добавить сообщение
echo '<script>alert('Вы вышли!');</script>';

veter069
09.03.2010, 20:22
Нужен простой скрипт который посчитает сумму чисел от 1го до 36, пока догнал только как вывести эти числа по очереди

<?php
$var = 36;
$i = 0;
for ($i = 0; $i <= $var; $i++)
{
echo($i);
echo('<br>');
}
?>

wildshaman
09.03.2010, 20:31
<?php
for ($i=1; $i<=36; $i++)
$sum=$sum+$i;
echo $sum;
?>

veter069
09.03.2010, 20:39
<?php
for ($i=1; $i<=36; $i++)
$sum=$sum+$i;
echo $sum;
?>

точно, спс :)

Pashkela
09.03.2010, 20:40
<?php
while ($i<=36) {$a =$a+$i;$i++;echo $a . "<br>";}
?>


:D

phpdreamer
09.03.2010, 21:10
ну или
$a=0;for($i=1;$i<37;$i++)echo ($a+=$i ) . '<br>';

xDD

phpdreamer
09.03.2010, 21:43
как правильно читается CodeIgniter?
=)

Dark_cracker
10.03.2010, 00:31
document.getElementById('wmbonus').innerHTML = '<input type="button" value="Подождите '+timeleft+' секунд" onClick="endtime()" style="color: Gray;">';
if(timeleft == 0){
clearInterval(hs)
document.getElementById('wmbonus').innerHTML = '<input type="submit" value="поехали">';

Интересно на curl , можно это обойти ? и ещё вопрос если на сайте есть форма и в ней генерируетсья число , можно ли спомощью курл обойтись одним запросом , получить страницу отпарсить и потом послать ПОСТ ???

AdmSmsTel
10.03.2010, 01:24
session_start();//инициализирует работу с сессиями
session_destroy();//уничтожает сессию
//вот и все... можно еще добавить сообщение
echo '<script>alert('Вы вышли!');</script>';

полный скрипт дай как я дал в <? .. ?> :rolleyes:

LStr1ke
10.03.2010, 01:49
как правильно читается CodeIgniter?
=)
Коуд Игнайте

Nosfer
10.03.2010, 18:43
Подскажите регулярку под парсинг всех внешних ссылок (preg_match_all) на странице при условии, что в переменной $domain содержится урл домена (к примеру yandex.ru), а в переменной $data содержится нтмл-код страницы.

m0Hze
10.03.2010, 19:21
Подскажите регулярку под парсинг всех внешних ссылок (preg_match_all) на странице при условии, что в переменной $domain содержится урл домена (к примеру yandex.ru), а в переменной $data содержится нтмл-код страницы.

<?php

/**
* @author m0hze
* @copyright 2010
*/

function external2local($home,$away,$date){
$return = preg_replace('#(http:|https:|ftp:)\/\/(?!('.$home.'.*))#i', $away.'$0',$date);
return($return);
}
$data = 'Hey! Go to: <a href="htTps://lilo.ru/ffff.php">aaaaa</a> , and Hey! Go to: <a href="http://lilo.ru/ffff.php">aaaaa</a> Hey! Go to: <a href="Http://mydOmain.Ru/ff3ff.php">aaaaa</a>';
echo external2local('mydomain.ru','http://mydomain.ru/away.php?url=',$data);
?>

Как то так.На выходе будет:

Hey! Go to: <a href="http://mydomain.ru/away.php?url=htTps://lilo.ru/ffff.php">aaaaa</a> , and Hey! Go to: <a href="http://mydomain.ru/away.php?url=http://lilo.ru/ffff.php">aaaaa</a> Hey! Go to: <a href="Http://mydOmain.Ru/ff3ff.php">aaaaa</a>

Server_ok
10.03.2010, 19:21
как сделать с чекбоксами такое такое:

Если выбран первый чекбокс то ....
Если выбран был второй чекбокс то...

Это надо через if( ?

m0Hze
10.03.2010, 19:27
Делаешь у всех одно имя, но разные значение,и дальше switch();
То есть:

<input type="checkbox" name="check" value="1" />
<input type="checkbox" name="check" value="2" />
<input type="checkbox" name="check" value="3" />
<input type="checkbox" name="check" value="4" />


switch ($check) {
case '1':
bla1();
break;
case '2':
bla2();
break;
case '3':
bla3();
break;
}

Ну и убираешь break; если возможен выбор 2-3...N чекбоксов одновременно,чтобы операции не прерывались.
Или получаешь значение в массиве,и в цикле проходишься по массиву.Если элемент isset(); то делаешь операцию.

Server_ok
10.03.2010, 19:41
спасибо, а где bla1 там действие назначить ?

вот надо если был нажал чекбокс 1 то передать данные в <?php echo $_POST['chek'] ?>

а передачу данных надо делать через <form method="post" action="эта же страница">

правильно я понял ? как можно реализовать ?

phpdreamer
11.03.2010, 17:36
а передачу данных надо делать через <form method="post" action="эта же страница">

как можно реализовать ?


echo '<form method="post" action="' . $_SERVER['PHP_SELF'] . '">';

Server_ok
11.03.2010, 20:41
извините за нубо-посты пошёл учить php

SeNaP
11.03.2010, 22:28
CREATE TABLE `top_users` (
`id` int(10) unsigned NOT NULL auto_increment,
`sear_zap` text NOT NULL,
`sear_go` int(10) NOT NULL,


$sql = mysql_query("INSERT INTO `top_user` ('sear_zap','sear_go') VALUES (".$sear_zap.",".$sear_go.");");

как добавить такую запись , id = 12 ? т.е в 12 колонку

mailbrush
11.03.2010, 22:44
как добавить такую запись , id = 12 ?


$sql = mysql_query("INSERT INTO `top_user` VALUES ({$id},'{$sear_zap}',{$sear_go});");

satana-fu
12.03.2010, 05:50
Есть такая форма отправки данных

1-я форма
<body onload="document.getElementById('l').submit();">
<form id='l' method="post" action="http://site.ru/1.php?do=lookout">
<input class=input type=text name=name value="Гуля">
</form>

Как сделать, чтобы данные из 2-й формы с атрибутом enctype="multipart/form-data" обрабатывались сервером так же как в 1-й форме и на сервере сохранялось имя с формы??

2-я форма
<form method=post enctype="multipart/form-data">
<input class=input type=text name=name value="Гуля">
</form>

НTL
12.03.2010, 12:21
Как на PHP переводить деньги на кошельки ВебМнаи, если быть точнее то на WMR, + обход "Дынный WMID не найден в списке контактов"

warlok
12.03.2010, 12:44
Как на PHP переводить деньги на кошельки ВебМнаи, если быть точнее то на WMR, + обход "Дынный WMID не найден в списке контактов"
https://merchant.webmoney.ru/conf/default.asp

НTL
12.03.2010, 17:15
warlok, мне не принимать надо, а отдавать

GlooK
12.03.2010, 23:39
Я в шоке насколько функция rand() неслучайна.
Пользуйтесь mt_rand().

restart_05
13.03.2010, 14:18
Нужен простой скрипт записи истории платежей совершенных пользователем. У кого есть или как реалиизовать?

Chaak
13.03.2010, 15:25
http://php.net/manual/en/function.mysql-query.php

phpdreamer
13.03.2010, 15:33
#15154
как осуществляются платежи?

AtomoS
13.03.2010, 16:42
кто может привести аналог функции nl2br?

restart_05
13.03.2010, 16:46
#15154
как осуществляются платежи?

В каком смысле ??
php + mysql

b3
13.03.2010, 17:03
кто может привести аналог функции nl2br?

<?php
/* 1.txt
Строка 1
Строка 2
Строка 3
*/

$str = file_get_contents('1.txt');

echo $str;
echo '<hr>';
echo analog_nl2br($str);

function analog_nl2br($str, $delimiter = '<br />'){
if(is_array($str)) {
echo '$str - не должен быть массивом.';
return false;
} else {
$str = str_replace("\r\n",$delimiter,$str);
return $str;
}
}
?>

AtomoS
13.03.2010, 17:17
спасибо. $str = str_replace("\r\n",$delimiter,$str);только это было нужно))

Nightmarе
13.03.2010, 23:17
Как получить содержимое главной странички сайта echo.msk.ru ?
Я хз что там у них за защита, делаю банально:
$lol = file_get_contents('http://echo.msk.ru');
echo $lol;
Не выводит ничего.

Ну видимо дело в печеньях или ещё в чём, тогда делаю так:
$url = "http://echo.msk.ru";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt ($ch, CURLOPT_VERBOSE, 2);
curl_setopt ($ch, CURLOPT_ENCODING, 0);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0'); //Прописываем User Agent, чтобы приняли за своего

curl_setopt ($ch, CURLOPT_COOKIEFILE, "lol.txt");
curl_setopt ($ch, CURLOPT_COOKIEJAR, "lol.txt");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FAILONERROR, 1);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt ($ch, CURLOPT_COOKIE, "cookie1=1;cookie2=2");
curl_setopt($ch, CURLOPT_POSTFIELDS, "post1=1&post2=2");
$result = curl_exec($ch);
echo "Выполнено. Результат:\n\n";
echo $result;
curl_close($ch);
Тоже не пашет, с сокэтами та-же проблемма.
Подскажите где ошибка, и как мне вывести контент этого сайта?

LStr1ke
13.03.2010, 23:28
У меня работает
$lol = file_get_contents('http://echo.msk.ru');
echo $lol;

Compton
13.03.2010, 23:43
<?php
echo readfile('http://echo.msk.ru');
?>

не пробывал

TRX.new
13.03.2010, 23:45
<?php
echo readfile('http://echo.msk.ru');
?>

не пробывал

попробуй добавить CURLOPT_REFERER

REBUUS
14.03.2010, 00:51
есть такая проблема в авторизации движка Social Engine, вроде все нормально работает, заходишь авторизируешься, но иногда при авторизации происходит такая вещь, юзер вроде авторизовался на сайте, показывает что онлайн, а у самого юзера все еще просит авторизацию,не заходит на сайт. как выяснилась проблема в куках, точнее из-за неправильных дат в старых куках, вот думаю что когда форма посылает логин и пароль на скрипт обработчика, перед этим скрипта дописать скрипт удаления всех старых cookies этого сайта. вопрос такой...

Вариант удалить в пхп все сайта на компе скриптом? и как эт можно сделать ? желтельно если я не знаю как они называются или какие там переменные

Omegа
14.03.2010, 01:32
дописать скрипт удаления всех старых cookies этого сайта

может быть
<?php
foreach($_COOKIE as $k => $v) {
setcookie($k, null);
}
?>

REBUUS
14.03.2010, 01:56
$k => $v , эт что за переменные ?

Omegа
14.03.2010, 02:07
$k => $v , эт что за переменные ?
$k - название кук
$v - их содержимое
в моём коде идёт перебор всех существующих кукисов

REBUUS
14.03.2010, 02:37
а если я названия не знаю?
по домену сайта можно как то ? site.ru

m0Hze
14.03.2010, 02:51
а если я названия не знаю?
по домену сайта можно как то ? site.ru
)))
foreach - длякаждого :) кагбе намекает
$k - это то,куда будет записываться название куки, тебе его знать не нужно,ты его получаеш в \ту переменную.от тебя вообще ничего не нужно, только исходный массив,тут COOKIE .
Кагбе:

foreach($_COOKIE as $key => $value){ echo '$_COOKIE['.$key.'] = \''.$value.'\'';}

090808
14.03.2010, 04:06
Нужно чтоб кто-нибудь установил правильно mysql и установил php скрипт .(скрипт тикетов)
Плачу 5-10 wmz
асику 310-944-310

AtomoS
14.03.2010, 04:16
нужно узнать когда в последний раз добавлялись записи в табличку.. реально?

m0Hze
14.03.2010, 09:57
нужно узнать когда в последний раз добавлялись записи в табличку.. реально?
Ввести поле с датой.

djpasica
14.03.2010, 13:46
Fatal error: Class 'ZipArchive' not found in W:\home\localhost\www\test\index.php on line 21



в чем ошибка?
библиотеку PCL Zip подключил (require_once('pclzip.lib.php');)

AtomoS
14.03.2010, 14:14
m0Hze, это сильно просто)

mailbrush
14.03.2010, 14:25
m0Hze, это сильно просто)
А как ты хочешь по-другому? Иначе никак.

SeNaP
14.03.2010, 14:48
Всем привет
есть такая база данных

id email url
1 testing@mail.ru http://google.ru
2 testing@mail.ru http://yandex.ru
3 testing@mail.ru http://antichat.ru
4 olololo@mail.ru http://upyachka.ru
5 ytrapapa@mail.ru http://fsb.ru
6 testing@mail.ru http://forum.antichat.ru

Как определить, сколько записей с email = testing@mail.ru ?

djpasica
14.03.2010, 15:03
Всем привет
есть такая база данных

id email url
1 testing@mail.ru http://google.ru
2 testing@mail.ru http://yandex.ru
3 testing@mail.ru http://antichat.ru
4 olololo@mail.ru http://upyachka.ru
5 ytrapapa@mail.ru http://fsb.ru
6 testing@mail.ru http://forum.antichat.ru

Как определить, сколько записей с email = testing@mail.ru ?




$result = mysq_query("SELECT email FROM ** WHERE email = ' testing@mail.ru '");
$row = mysql_num_rows($result);
echo $row;
----
** - название твоей таблицы

Omegа
14.03.2010, 15:07
Есть просто текстовая база, то проще наверное
$count = substr_count($base, 'testing@mail.ru');
$base - содержимое базы

если база мускульная
$result = mysql_query("SELECT id FROM table WHERE email = 'testing@mail.ru'");
$count = mysql_num_rows($result);

djpasica
14.03.2010, 15:10
Fatal error: Class 'ZipArchive' not found in W:\home\localhost\www\test\index.php on line 21



в чем ошибка?
библиотеку PCL Zip подключил (require_once('pclzip.lib.php')

Gifts
14.03.2010, 15:18
djpasica класс ZipArchive находится в расширении php_zip.dll. Читайте мануал, там все написано: http://ru.php.net/manual/en/zip.installation.php
Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.

SeNaP $q = mysql_query("SELECT COUNT(*) FROM table WHERE email='testing@mail.ru'");
var_dump(mysql_fetch_assoc($q));

WNZRS
14.03.2010, 16:06
это сильно просто)
вроде как данные хранятся в файлах базы.
идёшь в MySQL_Dir/data/db_name/ и смотришь дату изменения нужной таблицы table_name.frm

090808
14.03.2010, 18:27
Нужно чтоб кто-нибудь установил правильно mysql и установил php скрипт .(скрипт тикетов)
Плачу 5-10 wmz
асику 310-944-310

Craw
14.03.2010, 18:33
Нужно чтоб кто-нибудь установил правильно mysql и установил php скрипт .(скрипт тикетов)
Плачу 5-10 wmz
асику 310-944-310

тебе в раздел "Работа" надо

mr.4k
14.03.2010, 18:42
Нужна помощь опытных.
Возможно, кто-ниб сталкивался с удаленным постингм в Вордпресс через xmlrpc.

Ниже простой ПХП скрипт, который делает пост удаленно в Вордпресс.
Проблема: не могу разобраться с форматом даты. нужно, чтоб пост шел с определенной датой.

function wpPostXMLRPC($title,$body,$rpcurl,$username,$passw ord,$category,$keywords='',$encoding='UTF-8') {
$title = htmlentities($title,ENT_NOQUOTES,$encoding);
$keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding);

$content = array(
'title'=>$title,
'description'=>$body,
'mt_allow_comments'=>0, // 1 to allow comments
'mt_allow_pings'=>0, // 1 to allow trackbacks
'post_type'=>'post',
'mt_keywords'=>$keywords,
'categories'=>array($category)
);
$params = array(0,$username,$password,$content,true);
$request = xmlrpc_encode_request('metaWeblog.newPost',$params );
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$results = curl_exec($ch);
curl_close($ch);
return $results;



}

Дата - это один из параметров массива content.
выглядеть должна так:
dateCreated => "20090629T18:03:18"
Но с этим параметром фунуция вообще не работает.
Вот несколько ссылок на тему:
http://codex.wordpress.org/XML-RPC_wp
http://www.franzone.com/2007/07/30/wordpress-xml-rpc-patch-for-metweblog-newpost-method/
Буду признателен за любые советы.

Gifts
14.03.2010, 19:05
mr.4k Исходя из ваших же "ссылок на темы", формат даты должен быть ISO8601, например "2005-08-15T15:52:01+0000"

Поправка, дата должна быть не строкой, а объектом datetime.iso8601. http://www.php.net/manual/en/class.datetime.php#datetime.constants.iso8601

mr.4k
14.03.2010, 19:25
спасибо!
подскажите как сконвертировать строку в этот формат? уже все испробовал... =\

mr.4k
14.03.2010, 19:52
$datetime = date_create('2008-08-03 14:52:10');
$date=date_format($datetime, 'Y-m-d\TH:i:sO ');


$content = array(
'title'=>$title,
'description'=>$body,
'mt_allow_comments'=>0, // 1 to allow comments
'mt_allow_pings'=>0, // 1 to allow trackbacks
'post_type'=>'post',
'mt_keywords'=>$keywords,
'date_created_gmt'=>$date,
'categories'=>array($category)
);


не работает
в чем может быть ошибка?

Gifts
14.03.2010, 20:12
mr.4k Попробуйте либо
$datetime = date_create('2008-08-03 14:52:10');
$date=date_format($datetime, DATE_ISO8601);

Либо просто $datetime = date_create('2008-08-03 14:52:10');

mr.4k
14.03.2010, 20:34
не работает =\
по сути, наверное, функции трансформируют дату правильно, но запостить в Вордпресс не выходит. никаких ошибок не выдает. просто чистый лист.

Т.к. перепробовал все варианты и почти полностью разуверился в возможности написать скрипт самому,то:

Куплю реализацию постинга в Врдпресс с учеом указания даты поста (делается для того,чтоб посты появлялись в блоге постепенно).

Обращайтесь в ПМ.

Compton
15.03.2010, 11:31
нужно вывести код этой (http://www.yell.ru/all/%D0%B1%D0%B8%D1%80%D0%B6%D0%B0/ru/134/small) страницы без иероглифов,чтобы потом составить регулярку и парсить рубрики и т.д.

#Wolf#
15.03.2010, 11:33
есть большой массив с данными: информация о квартире и телефон.
такого вида:

Кипарис., 125 с, 70 м, х/сос. Т. 729-748.
Поселк., 34 10/10п сроч. Т. 931-390.
Кирова, с/12, 2л/з, юз, вид. Т. 916-762.
Чернях., 13 част. рем. Т. 443-146.

задача состоит в следующем: нужно найти повторяющиеся номера телефонов, и если например n-ный номер встречается более одного раза, то удалить и его и все повторы. :confused:

m0Hze
15.03.2010, 12:06
есть большой массив с данными: информация о квартире и телефон.
такого вида:

задача состоит в следующем: нужно найти повторяющиеся номера телефонов, и если например n-ный номер встречается более одного раза, то удалить и его и все повторы. :confused:
Еее,секс с php :)

$array = array('Кипарис., 125 с, 70 м, х/сос. Т. 729-748.',
'Поселк., 34 10/10п сроч. Т. 931-390.',
'Кирова, с/12, 2л/з, юз, вид. Т. 916-762.',
'Чернях., 13 ча34534ст. рем. Т. 443-146.', 'Чернях., 13 част. рем. Т. 443-146.');
function array_superduperunique($array)
{
$count = count($array);
$new = implode('', $array);
preg_match_all('#Т\. ([0-9\-]+)\.#isU', $new, $match);
unset($match[0]);
$uniq = array_unique(array_map('trim', $match[1]));
print_r($uniq);
for ($i = 0; $i < $count; $i++) {
if (!$uniq[$i]) {
unset($array[$i]);
}
}
return ($array);
}
print_R(array_superduperunique($array));

Zircool
15.03.2010, 12:20
Всем привет.. Подскажите как извлечь изображение капци, которая стоит на регистрации в http://memori.ru/registration/ ... Капча генерируется с помощью ява скрипта, как вытащить ссылку на полученое изображение?

m0Hze
15.03.2010, 12:32
Всем привет.. Подскажите как извлечь изображение капци, которая стоит на регистрации в http://memori.ru/registration/ ... Капча генерируется с помощью ява скрипта, как вытащить ссылку на полученое изображение?
Смотри код,видим джс, и либо эмулируем,либо предугадываем.

Zircool
15.03.2010, 12:35
m0Hze, можно чуть подробнее? пробовал по всякому работать с переменными ява скрипта, результата нет((

m0Hze
15.03.2010, 13:53
Еее,секс с php :)

$array = array('Кипарис., 125 с, 70 м, х/сос. Т. 729-748.',
'Поселк., 34 10/10п сроч. Т. 931-390.',
'Кирова, с/12, 2л/з, юз, вид. Т. 916-762.',
'Чернях., 13 ча34534ст. рем. Т. 443-146.', 'Чернях., 13 част. рем. Т. 443-146.');
function array_superduperunique($array)
{
$count = count($array);
$new = implode('', $array);
preg_match_all('#Т\. ([0-9\-]+)\.#isU', $new, $match);
unset($match[0]);
$uniq = array_unique(array_map('trim', $match[1]));
print_r($uniq);
for ($i = 0; $i < $count; $i++) {
if (!$uniq[$i]) {
unset($array[$i]);
}
}
return ($array);
}
print_R(array_superduperunique($array));

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

function array_superduperunique($array)
{
$count = count($array);
$new = implode('', $array);
preg_match_all('#Т\. ([0-9\-]+)\.#isU', $new, $match);
unset($match[0]);
$match = array_map('trim', $match[1]);
$uniq = array_count_values($match);
foreach ($uniq as $key => $value) {
if ($value > 1) {
for ($i = 0; $i < $value; $i++) {
$delkey = array_search($key, $match);
unset($match[$delkey]);
unset($array[$delkey]);
}
}
}
return (array_values($array));
}

demo_version
15.03.2010, 15:14
Не могу установить Apache, возникает ошибка 1719, а именно http://s48.radikal.ru/i119/1003/78/9c39660613c7.jpg

Версия установщика 4.5, на макрософте есть кое-какая инфа, пункт 2 позже сделаю. В чем дело вообще не могу понять, сил уже нет!
Заранее thanX a lot!

Alv
15.03.2010, 15:25
Какое число (целое) надо передать, что бы оно вышло за пределы диапозона и превратилось в 1? Знаю, что сначала преобразуется в float, но мне надо чтоб число стало 1.

AtomoS
15.03.2010, 16:27
хех. вопросик. хочу на сайтике поставить счётчик посещений (хостов)
человек заходит и +1 к статистике.
файлов новых создавать не хочу и в БД лезть тоже.

как сделать скрипт которых будет прибавлять +1 к конфигу $site['visit'] = "5";
?

Fepsis
15.03.2010, 19:13
Подскажите, чем лучше фильтрануть текст перед записью в DB..?!
Я делаю так:

strip_tags - убираю теги;
preg_replace('/\s\s+/', ' ', $str) - избавляюсь от лишних пробельных символов;
addslashes - экранирую спецсимволы;

Если вышеописанное - бред, скажите как лучше сделать или чем дополнить...
Вариант предложенные мной даёт сбой на некоторых строках...

Gifts
15.03.2010, 19:22
Fepsis https://forum.antichat.ru/thread30641.html

Alv
15.03.2010, 19:23
А что касается меня, просто очень надо, для лабы.

Gifts
15.03.2010, 19:29
Alv сформулируйте задание целиком

SeNaP
15.03.2010, 19:30
как проверить сколько в тексте точек?

Gifts
15.03.2010, 19:33
SeNaP http://php.net/substr_count

Compton
15.03.2010, 20:24
почему при заходе курлом,русский текст на странице превращается в такое? РџРѕ всей Р РѕСЃСЃРёРё

mailbrush
15.03.2010, 20:32
Все дело в кодировке.

Compton
15.03.2010, 20:34
Все дело в кодировке.
как можно исправить?

b3
15.03.2010, 20:50
как можно исправить?
http://ua.php.net/manual/en/function.iconv.php

Alv
15.03.2010, 21:59
Нужно задать число больше 1000, желательно целое, что бы оно из-за выхода за пределы типа стало 5.

mailbrush
15.03.2010, 22:13
Нужно задать число больше 1000, желательно целое, что бы оно из-за выхода за пределы типа стало 5.
Лично я ничего не понял. Тебе надо рандумное число больше 1000?

Compton
15.03.2010, 22:16
Нужно задать число больше 1000, желательно целое, что бы оно из-за выхода за пределы типа стало 5.
<?php
$num="предельное число";
$rand=rand(1000,9000);
if($rand>$num){
echo "5";
}else{
echo "ololo";
}
?>

не то?

Compton
15.03.2010, 23:11
http://ua.php.net/manual/en/function.iconv.php
не помогает

Dark_cracker
15.03.2010, 23:26
почему при заходе курлом,русский текст на странице превращается в такое? РџРѕ всей Р РѕСЃСЃРёРё
вот это поставь в самом начале и ставь кодеровку которая юзаеться на странице...
<?php header('Content-Type: text/html; charset=window-1251'); ?>

Compton
15.03.2010, 23:29
вот это поставь в самом начале и ставь кодеровку которая юзаеться на странице...
<?php header('Content-Type: text/html; charset=window-1251'); ?>
вот! спасибо,огромное

Alv
15.03.2010, 23:44
Ну смотрите, Как на паскале:

var x: byte;
begin

x:=261;

writeln(x);
end.
Нужно подобное на PHP

m0Hze
16.03.2010, 00:00
Ну смотрите, Как на паскале:

var x: byte;
begin

x:=261;

writeln(x);
end.
Нужно подобное на PHP
var x: byte;
Ключевой момент.

Omegа
16.03.2010, 00:01
Alv, В php посложней будет:
<?php
$i = 4294967301;
echo (int)$i;
?>

Alv
16.03.2010, 00:01
var x: byte;
begin

x:=261;

writeln(x);
end.

Выводится 5, т.к. 0..255, ограничения типа byte, мне нужно аналогично на PHP, с типом Integer.

Alv
16.03.2010, 00:04
Omegа. Дело в том, что тип преобразовывается в FLOAT, в котором мы тоже должны выйти из диапазона, что бы преобразоватся в 5. Надо обойтись без (int)

m0Hze
16.03.2010, 00:16
Omegа. Дело в том, что тип преобразовывается в FLOAT, в котором мы тоже должны выйти из диапазона, что бы преобразоватся в 5. Надо обойтись без (int)
Проблема в том,что в php нет жесткого приведения типов.Юзай с++.

Alv
16.03.2010, 00:22
Да я сам на ASP.net сижу(( А мой друг на PHP, вот и надеялся что дыру нашел у друга.

djpasica
16.03.2010, 00:56
djpasica класс ZipArchive находится в расширении php_zip.dll. Читайте мануал, там все написано: http://ru.php.net/manual/en/zip.installation.php


подключил я ету директорию в php.ini но все равно таже ошибка...

Omegа
16.03.2010, 01:10
Да я сам на ASP.net сижу(( А мой друг на PHP, вот и надеялся что дыру нашел у друга.
Максимальное значение числа с плавающей точкой ~1.8*10^308
Если число по модулю больше этого значения - выдаётся либо INF, либо -INF (в зависимости от знака), поэтому вряд ли выйдет как-нибудь получить число 5
[Довольно интересная тема - ведь можно было бы обойти ограничение, что число должно быть не меньше заданного значения :) ]

p.s. улыбнула фраза "дыру нашел у друга"

AtomoS
16.03.2010, 01:26
хех. вопросик. хочу на сайтике поставить счётчик посещений (хостов)
человек заходит и +1 к статистике.
файлов новых создавать не хочу и в БД лезть тоже.

как сделать скрипт которых будет прибавлять +1 к конфигу $site['visit'] = "5";?

djpasica
16.03.2010, 01:57
есть архив, надо запхать в него файл...
как реализовать?

m0Hze
16.03.2010, 01:57
хех. вопросик. хочу на сайтике поставить счётчик посещений (хостов)
человек заходит и +1 к статистике.
файлов новых создавать не хочу и в БД лезть тоже.

как сделать скрипт которых будет прибавлять +1 к конфигу $site['visit'] = "5";?
А что,дату добавление записи в БД ты уже осуществил без поля даты? :D
Почитай учебник по php. то что ты предлагаеш это либо та же перезапись файла, либо это х4йпойми что.
Юзай парсинг папки с сессиями.

m0Hze
16.03.2010, 01:58
есть архив, надо запхать в него файл...
как реализовать?
Смотря какой архив.Rar - через cmd можно,по моему есть классы для работы.Только вот работает помоему онли виндовс.
Zip - тоже есть класс для работы.Там все немного проще.

djpasica
16.03.2010, 01:59
Смотря какой архив.Rar - через cmd можно,по моему есть классы для работы.Только вот работает помоему онли виндовс.
Zip - тоже есть класс для работы.Там все немного проще.

упс забыл... в zip архив

namak
16.03.2010, 02:32
Fatal error: Cannot use string offset as an array in /home/***/templates/edit_form_templates.tpl.php on line 72

70. <?php
71. $count=0;
72. for ($x=0;$x<count($out["params"]["param-ATTR"]);$x++) { - ошибка ведет на эту строку
73. $param=$out["params"]["param-ATTR"][$x];
74. switch ($param["type"]) {


как с этим бороться???

pento
16.03.2010, 02:37
var_dump($out["params"])?

namak
16.03.2010, 02:42
var_dump($out["params"])?

это как? а остальное куда делось?

AtomoS
16.03.2010, 08:04
мэйби:
70. <?php
71. $count=0;
72. for ($x=0;$x<count(var_dump($out["params"])["param-ATTR"]);$x++) {
73. $param=var_dump($out["params"])["param-ATTR"][$x];
74. switch ($param["type"]) {

_Malinovskiy_
16.03.2010, 14:02
Fatal error: Cannot use string offset as an array in /home/***/templates/edit_form_templates.tpl.php on line 72

70. <?php
71. $count=0;
72. for ($x=0;$x<count($out["params"]["param-ATTR"]);$x++) { - ошибка ведет на эту строку
73. $param=$out["params"]["param-ATTR"][$x];
74. switch ($param["type"]) {


как с этим бороться???

мне кажется что между скобками знаков разделительных нехватает ["params"]["param-ATTR"])

WNZRS
16.03.2010, 16:20
Ну смотрите, Как на паскале:
Нужно подобное на PHP

$x=261;
tobyte($x);
echo $x;
function tobyte(&$a)
{
while($a > 255) $a -= 256;
while($a < 0) $a += 256;
}

Nek1t
16.03.2010, 17:25
Имеется скрипт, в котором в начале:
set_time_limit(0);
ignore_user_abort(TRUE);

Скрипт был запущен, а потом где-то зациклился. В итоге имеем скрипт, который висит в памяти и что-то делает. Возможность выхода в нем предусмотрена, но зациклился он до этой проверки. Как его теперь, лол, остановить?
Рестартнуть апач - не выход.

m0Hze
16.03.2010, 17:29
Убить процесс по его pid? Хотя хз как это не практике )

Pashkela
16.03.2010, 18:16
написать в скрипте вместо всего <?phpinfo();?> и вызвать заново )

Nek1t
16.03.2010, 18:23
m0Hze, процесс скрипта? По-моему это невозможно.
Pashkela, даже если удалить скрипт он все равно будет воркать, т.к. уже в памяти(BTW, на заметку).
А повторный вызов измененного файла сработает в отдельном потоке, нэ? Сейчас попробую.

Nek1t
16.03.2010, 18:27
Сейчас попробую.
Не, как я и думал, не сработало.

Fepsis
16.03.2010, 19:28
Nek1t, скрипт из вне черпает какую-нибудь инфу или всё хоанит в памяти..?! Можно попробовать спровоцировать ошибку.. Например, если скрипт обращается к какому то файлу периодически то удалить этот файл (например) или ещё что-то...

Nek1t
16.03.2010, 19:53
Fepsis, да, цепляет, но у меня к ней доступа кроме как на чтение нет.
если скрипт обращается к какому то файлу периодически то удалить этот файл
Что я и сделал - снес локальный файл result.txt, в который постоянно заливается инфа. Файл-то удалился, только создался .nfs000000000028817000000098 с точной копией result.txt, скрипт продолжил работать с ним. Сейчас размер файла не растет(собственно это и есть следствие ошибки и зацикливания), но и удалить его нельзя.

namak
16.03.2010, 20:23
мэйби:
70. <?php
71. $count=0;
72. for ($x=0;$x<count(var_dump($out["params"])["param-ATTR"]);$x++) {
73. $param=var_dump($out["params"])["param-ATTR"][$x];
74. switch ($param["type"]) {


ну во первых скобки не правильно поставлены. во вторых все равно не работает, таже ошибка

Omegа
16.03.2010, 22:57
namak, у тебя $out["params"]["param-ATTR"] должно быть массивом. Что у тебя выдаёт код
print_r($out);
?

mind
16.03.2010, 23:05
Ситуация такая: написал скрипт который в свою очередь отправляет данные через форму в другой скрипт. Полученные данные обрабатываются и заносятся в базу, а затем нужно сделать редирект на первый скрипт с передачей ему определенных параметров! что то типа
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='1; URL=http://". $_SERVER['HTTP_HOST']."/admin.php?option=users&action=view"."'></HEAD><br /><center><strong>$user Добавлен!</strong></center></HTML>";

редирект происходит, но первый скрипт соообщает ошибку: Notice: Undefined index: HTTP_REFERER in u:\home\localhost\www\admin.php on line 57



вот собственно кусок кода где проверяеца реферер:

if(isset($_SESSION['login']) && isset($_SESSION['password'])) { $host = parse_url($_SERVER['HTTP_REFERER']); if(md5($host['host'].$_SESSION['login'])!=md5($_SERVER['HTTP_HOST'].$_SESSION['login']))die(); $_SESSION['login'] = addslashes($_SESSION['login']); $admins = mysql_query("SELECT * FROM admin WHERE login = '". $_SESSION['login']."' AND password = '". md5($_SESSION['password'])."'");

как исправить ума не приложу, и игнорирование ошибок делать не хочется как то.

Подкажите пожалуйста как быть


все решил проблему :) может кому пригодиться:
<script language="JavaScript"><!-- function dorefresh() { ti=setTimeout("dorefresh();",10000); window.location="http://localhost/admin.php?option=users&action=view"; } window.onLoad=dorefresh(); //--></script>

b3
16.03.2010, 23:28
http://www.shtogrin.com/library/web/meta/http_equiv_refresh/
он не переадресует, поетому и нет реферера

mind
16.03.2010, 23:33
ну это я уже понял что не работает этот код. Опера например отправлет реферер а ФФ нет. Вот как сделать так чтобы можно было перейти обратно к первому скрипту?

restart_05
16.03.2010, 23:34
Подскажите как подключить функцию ssh2, при подключении выдает ошибку Call to undefined function ssh2_connect()

Pashkela
16.03.2010, 23:35
http://www.php.net/manual/en/ssh2.installation.php

Compton
16.03.2010, 23:36
есть форма ввода названия
сайт-донор уже спарсен на названия и ссылки
туда вводишь название песни и показывается список такого типа
1.Joy Division-The Kill
2.Napalm Death-The Kill
3.Better Than Ezra-The Killer Inside
4.Alice In Chains-The Killer Is Me
5.Insane Clown Posse-The Killing Fields
нужно сделать так,чтобы при вводе номера песни в эту же форму, скрипт шел на ссылку(которую спарсили раньше,которая своя для каждой песни) и парсил текст песни) регулярку напишу сам

phpdreamer
16.03.2010, 23:49
и где вопрос?

restart_05
16.03.2010, 23:50
Pashkela Спасибо

SkyLine32
17.03.2010, 06:23
Можно ли в TEXTAREA работать с каждой строкой на php? дайте пример пожалуйста

LStr1ke
17.03.2010, 07:05
var#1:
<form method="post" />
<textarea name="txt"></textarea>
<input type="submit" value=" Send " />
</form>

<?php
if(isset($_POST['txt'])) {
foreach(explode("\n",$_POST['txt']) as $line) {
echo "line: ".$line."<br />";
}
}
?>

var#2:
<form method="post" />
<textarea name="txt"></textarea>
<input type="submit" value=" Send " />
</form>

<?php
if(isset($_POST['txt'])) {
$lines = explode("\n",$_POST['txt']);
for($i=0;$i<count($lines);$i++) {
echo "line ".($i+1).": ".$lines[$i]."<br />";
}
}
?>

LStr1ke
17.03.2010, 09:32
есть форма ввода названия
сайт-донор уже спарсен на названия и ссылки
туда вводишь название песни и показывается список такого типа
1.Joy Division-The Kill
2.Napalm Death-The Kill
3.Better Than Ezra-The Killer Inside
4.Alice In Chains-The Killer Is Me
5.Insane Clown Posse-The Killing Fields
нужно сделать так,чтобы при вводе номера песни в эту же форму, скрипт шел на ссылку(которую спарсили раньше,которая своя для каждой песни) и парсил текст песни) регулярку напишу сам
Короче не понятно, что ты написал, что значит форма в твоем случае, НО. Осмелюсь предположить, что в твоем случае
то выглядет так:

<form method='post'>
<input type='text' name='variable' size='50' value=' Сюда название песни ' />
<input type='submit' value='Искать' />
</form>
<?php
if(isset($_POST['variable'])) {
// Тут ты делаешь какие-то манипуляции над variable (название песни) , а именно получаешь с некого сайта
//список этих песен и выводишь их, а потом хочешь, чтобы в поле куда вводили название,
//вводить номер из списка, и грабить текст...
}
?>

Если я правильно понял, то попробую привести тебе похожий пример:
(написал только что)
Короче он грабит 10 результатов поиска http://pesni.ru и по кнопке грабит текст песни. Думаю аналагично твоей нужде

<?php

# Super Chords Grabber MotherFucker v1.0 epta. by shkolololo

if(!isset($_GET['action'])) {
echo "
<form action = '".$_SERVER['SCRIPT_NAME']."?action=get_list' method='post'>
<input type='text' name='variable' size='50' value=' Сюда что искать ' />
<input type='submit' value='Искать' />
</form>
";
}else {
echo "<a href='".$_SERVER['SCRIPT_NAME']."'> Новый поиск </a><br />";
switch($_GET['action']) {
case "get_list":
if(isset($_POST['variable'])) {
// Тут я ворую результат поиска
$search_site = "http://www.pesni.ru/search_result.shtml?terms=".trim(str_replace(" ","+",$_POST['variable']))."&case=Insensitive&boolean=AND";
$search_site_result = file_get_contents($search_site);
if(preg_match_all('#<font size="3">(.*)</font>.+<a href="(.*)">#isU',$search_site_result,$step_result)) {
for($i=0;$i<count($step_result[1]);$i++) {
echo "<b>".$step_result[1][$i]."</b>
<form action = '".$_SERVER['SCRIPT_NAME']."?action=get_text' method='post'>
<input type='hidden' name='variable' value='".$step_result[2][$i]."' /><input type='submit' value='Покажи текст этой песни' /></form>
<br />
";
// Тут на выводе формируется форма, которая отправляет адрес текста песни, для дальнейшего парсинга
}
}else echo "Нихрена ничего не нашлось :(";
}
break;
case "get_text":
//Тут воруем текст песни
if(isset($_POST['variable'])) {
$search_site_result = file_get_contents($_POST['variable']);
if(preg_match("#<center><h1>(.*)</h1>.+<pre>(.*)</pre>#isU",$search_site_result,$result)) {
echo "<h1>$result[1]</h1><pre>$result[2]</pre>";
}else echo "Чета не могу прочитать :(";
}
break;
default: echo "Ты ошибся командой епта"; break;
}
}
?>

Qb1024
17.03.2010, 13:38
Подскажите пожалуйста скриптик, который бы определял рамеры картинкаи, и если они больше 240х320, то уменьшал бы её, а если меньше, то растягивал.

Konqi
17.03.2010, 14:14
Подскажите пожалуйста скриптик, который бы определял рамеры картинкаи, и если они больше 240х320, то уменьшал бы её, а если меньше, то растягивал.

используй функцию getimagesize

http://php.su/functions/?getimagesize

Qb1024
17.03.2010, 14:27
используй функцию getimagesize

http://php.su/functions/?getimagesize
а как сделать ресайз?

Konqi
17.03.2010, 14:34
а как сделать ресайз?

http://devels.ru/files/img_resize.zip

LStr1ke
17.03.2010, 14:35
а как сделать ресайз?

<?php
function resizeimg($filename, $smallimage, $w, $h)
{
// Имя файла с масштабируемым изображением
// $filename = "../".$filename;
// Имя файла с уменьшенной копией.
// $smallimage = "../".$smallimage;
// определим коэффициент сжатия изображения, которое будем генерить
$ratio = $w/$h;
// получим размеры исходного изображения
$size_img = getimagesize($filename);
// Если размеры меньше, то масштабирования не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
// получим коэффициент сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1];

// Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились
// пропорции исходного изображения
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
// создадим пустое изображение по заданным размерам
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);

// масштабируем изображение функцией imagecopyresampled()
// $dest_img - уменьшенная копия
// $src_img - исходной изображение
// $w - ширина уменьшенной копии
// $h - высота уменьшенной копии
// $size_img[0] - ширина исходного изображения
// $size_img[1] - высота исходного изображения
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
// сохраняем уменьшенную копию в файл
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
// чистим память от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
#use: resizeimg('file', 'file', 600, 450); //x - 600; y - 450
?>

Qb1024
17.03.2010, 14:36
Спасибо, попробую разобраться!

Konqi
17.03.2010, 14:38
function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $proportion=false, $quality=100) {
if(!file_exists($src)) return false;
$size = getimagesize($src);
if($size === false) return false;
if($proportion === true) {
$h0 = $height;
$height = ($width/$size[0])*$size[1];
if($height > $h0) { $height = $h0; $width = ($height/$size[1])*$size[0]; }}
if($width > $size[0]) $width = $size[0];
if($height > $size[1]) $height = $size[1];
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
$icfunc = 'imagecreatefrom'.$format;
if(!function_exists($icfunc)) return false;
$x_ratio = $width/$size[0];
$y_ratio = $height/$size[1];
$ratio = min($x_ratio, $y_ratio);
$use_x_ratio = ($x_ratio == $ratio);
if($use_x_ratio) { $new_width = $width; $new_left = 0; }
else { $new_width = floor($size[0] * $ratio); $new_left = floor(($width - $new_width) / 2); }
if(!$use_x_ratio) { $new_height = $height; $new_top = 0; }
else { $new_height = floor($size[1] * $ratio); $new_top = floor(($height - $new_height) / 2); }
$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);
if(is_array($dest)) {
$nd = explode('.', $src);
$ndc = count($nd);
$nd[$ndc - 2] .= $dest[0]; $dest = implode('.', $nd); }
imagefill($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
imagejpeg($idest, $dest, $quality);
imagedestroy($isrc);
imagedestroy($idest);
return $dest;
}

Qb1024
17.03.2010, 14:41
Огромное спасибо!
Скрипт отличный и делает как раз то, что надо!

Dark_cracker
17.03.2010, 18:36
=( не могу понять в чём дело
setcookie("cookie", "bla", time() +3600); - так не работает
setcookie("cookie","bla"); - так работает
хотя на локалке и так и так работает =( не пойму в чём дело