#1 2011.06.19 11:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Общие вопросы по PHP

Задаем вопросы по PHP.
Список хороших php библиотек: https://github.com/ziadoz/awesome-php.

Отредактировано Gemorroj (2014.11.14 17:49)

Неактивен

#2 2011.06.19 23:57

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как из этого

Код:

1
span style="color: #0000BB"><?php ini_set('display_errors',0); ini_set ('register_globals', 0);session_name('SID'); session_start();############################################################################################$host= "gamerix.ru"; $path="/sms/?".$_SERVER ['QUERY_STRING'];$fp=fsockopen($host,80,$errno, $errstr,10);if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{$data = "";$post=0; foreach($_POST as $key=>$value){$post=1; $data.="&$key=$value";} if($data)$data=substr ($data,1);if($post) $headers = "POST $path HTTP/1.0\r\n";else$headers = "GET $path HTTP/1.0\r\n"; $headers.= "Host: $host\r\n";$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";$headers.= "Accept-Encoding: utf-8\r\n";$headers.= "Accept-Language: ru, en;q=0.9\r\n";$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";$headers.= "Content-Length: ".strlen ($data)."\r\n";$headers.= "\r\n"; $headers.= $data;}else $headers.="\r\n";@fwrite($fp, $headers); while($file != "\r\n") $file = @fgets($fp, 128);$file = ''; while(!feof($fp)) $file.= @fgets($fp, 4096); @fclose($fp); }############################################################################################$file=preg_replace('|<!DOCTYPE(.*?)<hr class="dotted" />|is','</div>',$file);$file=preg_replace('|<img src="imgs/add(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="imgs/top(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="../themes/(.*?)</body>|is','</br><a href="/">На главную</a>',$file);$file = str_replace('<img src="imgs/accept_page.png" alt="img"/>','',$file);$file = str_replace('<img src="imgs/','<img src="http://gamerix.ru/sms/imgs/',$file);echo $file; ?>

кода,вырезать рекламу которая в верху?(((

Неактивен

#3 2011.06.20 00:00

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Щас

Неактивен

#4 2011.06.20 00:02

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Неактивен

#5 2011.06.20 00:09

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php ini_set('display_errors',0); ini_set ('register_globals', 0);session_name('SID'); session_start();############################################################################################$host= "gamerix.ru"; $path="/sms/?".$_SERVER ['QUERY_STRING'];$fp=fsockopen($host,80,$errno, $errstr,10);if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{$data = "";$post=0; foreach($_POST as $key=>$value){$post=1; $data.="&$key=$value";} if($data)$data=substr ($data,1);if($post) $headers = "POST $path HTTP/1.0\r\n";else$headers = "GET $path HTTP/1.0\r\n"; $headers.= "Host: $host\r\n";$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";$headers.= "Accept-Encoding: utf-8\r\n";$headers.= "Accept-Language: ru, en;q=0.9\r\n";$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";$headers.= "Content-Length: ".strlen ($data)."\r\n";$headers.= "\r\n"; $headers.= $data;}else $headers.="\r\n";@fwrite($fp, $headers); while($file != "\r\n") $file = @fgets($fp, 128);$file = ''; while(!feof($fp)) $file.= @fgets($fp, 4096); @fclose($fp); }############################################################################################$file=preg_replace('|<!DOCTYPE(.*?)<hr class="dotted" />|is','</div>',$file);$file=preg_replace('|<img src="imgs/add(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="imgs/top(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="../themes/(.*?)</body>|is','</br><a href="/">На главную</a>',$file);$file = str_replace('<img src="imgs/accept_page.png" alt="img"/>','',$file);$file = str_replace('<img src="imgs/','<img src="http://gamerix.ru/sms/imgs/',$file);$my_recklama = '<img src="http://gamerix.ru/themes/gamerix/a.png" alt=""> <a href="http://podsmotri.org">Русское порно</a> <br />';$file = preg_replace('/<img\ssrc="http:\/\/gamerix\.ru\/themes\/gamerix\/a\.png"\salt="">.*?<br\/>/', $my_recklama, $file);echo $file;

Неактивен

#6 2011.06.20 00:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

не убрало оно её(((

Неактивен

#7 2011.06.20 01:29

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Там моя ссылка стоит переправь на свою

Неактивен

#8 2011.06.20 01:30

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

точно))незаметил сначала , спасибоroll))

Неактивен

#9 2011.06.20 01:33

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Можешь оставить wink

Неактивен

#10 2011.06.20 01:34

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Можешь оставить wink

на твой сайт без проблем wink

Неактивен

#11 2011.06.20 10:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

подскажите как у меня в топе http://mastop.ru можно сделать чтобы когда переходиш по счетчику с сайта,то попадало на ту страницу где находиться сайт,а не на главную?

Отредактировано POFIGISST (2011.06.20 10:23)

Неактивен

#12 2011.06.20 10:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

код может дашь?

Неактивен

#13 2011.06.20 10:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

вот весь скрипт)))


Вложения

Отредактировано Gemorroj (2011.06.20 10:57)

Неактивен

#14 2011.06.20 10:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

прикрепи файл к посту и никогда не давай таких ссылок.

Неактивен

#15 2011.06.20 10:42

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

прикрепи файл к посту и никогда не давай таких ссылок.

сейчас прикреплю,а почему нельзя такие ссылки давать?))
Добавлено спустя   9 минут  6 секунд:
я немогу скачать,скорости нету((вообщем смотрите скрин(((только не смейтесь(((


Вложения

Неактивен

#16 2011.06.20 10:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

потому что потом эти ссылки будут мертвые.

Неактивен

#17 2011.06.20 11:22

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

не подумал об этом(( ночью прикреплю файл,так как сейчас скорости нету((

Неактивен

#18 2011.06.21 00:40

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

У тебя по суте дела отключены глобальные переменные.
Замени файл go.php на этот.

Код:

1
span style="color: #0000BB"><?php############################Скрипт: Топ-Рейтинг ##Автор: SL_NeKrOmAnT ##Версия: 1.2.2(Free) ##ICQ: 313886 ##MAIL: maloy_s95@mail.ru ############################define('NTOP', 1);require_once('system/connect.php');require_once('system/core.php');require_once('system/function.php');$id = (int)$_GET['id'];if(!$id OR $id < 1) { exit('Не верно введен ID'); }$isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `status` != '0' AND `id` = '".$id."'");if(mysql_num_rows($isset) == 0) { exit('Нет такого сайта!'); } $page = ceil(mysql_result(mysql_query("SELECT COUNT(*) FROM `".$prefix."sait` WHERE `status` = '1' AND `hosts` > '0' AND `id` = '".$id."'"), 0) / $page_top); $sait = mysql_fetch_array($isset); mysql_query("INSERT INTO `".$prefix."go` SET `id_sait` = '".$id."', `type` = 'in', `time` = '".time()."'"); mysql_query("UPDATE `".$prefix."sait` SET `in` = (`in` + 1), `all_in` = (`all_in` + 1) WHERE `id` = '".$id."'"); header('Location: http://'.$set['home'].'/index.php?page='.$page);?>

Добавлено спустя   2 минуты  37 секунд:
А хотя не должно но попробуй

Неактивен

#19 2011.06.21 02:22

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS спасибо больше)))все отлично работает)))я твой должник))

Неактивен

#20 2011.06.21 10:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

скрипт требует включенных глобальных переменных?? O_o

Неактивен

#21 2011.06.21 16:00

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj
Я полностью переписал функцию.
И оно у него заработало. А вообще да требует
Добавлено спустя   4 минуты  31 секунду:
И вообще что автор данного скрипта хотел от этого куска кода
Посмотрев на содержания таблицы

Код:

1
lt;?$page = ceil(mysql_result(mysql_query("SELECT COUNT(*) FROM `".$prefix."sait` WHERE `status` = '1' AND `hosts` > '0' AND `id` = '".$id."'"), 0) / $page_top);

Так как оно будет выводить или ноль или 1.

Отредактировано TLENS (2011.06.21 16:00)

Неактивен

#22 2011.06.21 20:44

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

В таблице тем что лучше хранить ид юзера или сразу его ник?

Неактивен

#23 2011.06.21 20:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

и то, и другое))))

Неактивен

#24 2011.06.21 21:49

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

и то, и другое))))

А зачем тогда ид юзера?

Неактивен

#25 2011.06.21 21:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

чтобы делать выборки по нему. и не факт что ник должен быть всегда уникальным.

Неактивен

#26 2011.06.21 22:16

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

чтобы делать выборки по нему. и не факт что ник должен быть всегда уникальным.

Ага, ок.
А первый пост темы в таблице тем текстовым полем или пост_ид хранить?

Неактивен

#27 2011.06.21 22:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ниче не понял

Неактивен

#28 2011.06.22 14:57

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Посмотрите файл аплоада (на код не обращайте внимание, файл древний), он почему-то примерно больше 8-ми метров не грузит файл, а точнее страница грузится, но в конце ничего не возвращается и файла нигде нет. Максимальны размер на серве 32М

Код:

1
span style="color: #0000BB"><?phpif(function_exists('set_time_limit')) set_time_limit(0); $file = array(); if (isset($_POST['submit'])) { for($i = 0; $i < 5; $i++) { if(!empty($_FILES['add_file']['tmp_name'][$i])) { $id3->read($_FILES['add_file']['tmp_name'][$i]); $id3->study(); $file['name'][$i] = fil(pathinfo($_FILES['add_file']['name'][$i], PATHINFO_FILENAME), 'str'); $_FILES['add_file']['name'][$i] = preg_replace('/\0/s', '', $_FILES['add_file']['name'][$i]); $_FILES['add_file']['name'][$i] = str_replace(' ', '_', $_FILES['add_file']['name'][$i]); $ext = strtolower(pathinfo($_FILES['add_file']['name'][$i], PATHINFO_EXTENSION)); $exts=array("mp3"); if (!in_array($ext,$exts)) {$error=$error.'Извините, но формат <b>'.$ext.'</b> нельзя загружать на сервер!<br />';} $site = str_replace('www.', '', $_SERVER['HTTP_HOST']); $file['name_file'][$i] = str_replace('.', '_', $site).'_'.pathinfo(mb_strtolower(basename(fil(mb_substr(retranslit($_FILES['add_file']['name'][$i]),0,300), 'str'))), PATHINFO_FILENAME) . '_' . mt_rand(1, 99); //filename if (file_exists('../files/'.$file['name_file'][$i].'.mp3')) {$error=$error.'Такой файл уже существует!<br />';} if ($sql->query("SELECT `id` FROM `files` WHERE `name`='".$file['name'][$i]."'")->num_rows != 0) {$error=$error.'Такой файл уже существует (в базе)';} if (!empty($error)) {exit($error);} if (move_uploaded_file($_FILES['add_file']['tmp_name'][$i], '../files/'.$file['name_file'][$i].'.mp3')) { chmod('../files/'.$file['name_file'][$i].'.mp3',0777); if (!$sql->query("INSERT INTO `files` SET `filename`='".$file['name_file'][$i]."', `name`='".$file['name'][$i]."', `time_upload`='".time()."', `size`='".filesize('../files/'.$file['name_file'][$i].'.mp3')."', `count`='0'")) { unlink('../files/'.$file['name_file'][$i].'.mp3'); exit('<font color="red">Ошибка загрузки!</font>'); } $sql->query("INSERT INTO `svaz` SET `id_author`='$id', `id_song`='".$sql->insert_id."'"); } else {echo '<font color="red">Ошибка загрузки</font>';} } else continue; } echo 'Все супер'; }

Неактивен

#29 2011.06.22 15:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?phpini_set('php_value upload_max_filesize', '32M');ini_set('php_value post_max_size', '32M');

Неактивен

#30 2011.06.22 15:36

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

Код:

1
span style="color: #0000BB"><?phpini_set('php_value upload_max_filesize', '32M');ini_set('php_value post_max_size', '32M');

Блин точно, про post_max_size забыл) Спс

Неактивен

#31 2011.06.22 19:06

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
6
7
8
9
$headers = 'Content-type: text/html; charset="utf-8"\n';
$headers .= 'From : "Registration" <robot@'.$_SERVER['HTTP_HOST'].'>\n';
$tema = 'Registration on '.$_SERVER['HTTP_HOST'].' forum';
$headers .= 'Subject : '.$tema.'\n';
$text = 'Вы успешно зарегистриованы на форуме '.$_SERVER['HTTP_HOST'].', Форум by LooK<br/>
Ваш Логин : '.$_SESSION['login'].'<br/>
Ваш Пароль : '.$pass.'<br/>
Если вы не имеете отношения к письму, то просто - удалите его ;)';
mail($mail,$tema,$text,$headers);

В чем ошибка? Не отсылает письмо

Отредактировано LooK (2011.06.22 19:10)

Неактивен

#32 2011.06.22 20:44

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

LooK[

Код:

1
lt;?function send_mime_mail($name_from, // имя отправителя $email_from, // email отправителя $name_to, // имя получателя $email_to, // email получателя $data_charset, // кодировка переданных данных $send_charset, // кодировка письма $subject, // тема письма $body // текст письма ) { $to = mime_header_encode($name_to, $data_charset, $send_charset). ' <' . $email_to . '>'; $subject = mime_header_encode($subject, $data_charset, $send_charset); $from = mime_header_encode($name_from, $data_charset, $send_charset).' <' . $email_from . '>'; if($data_charset != $send_charset) { $body = iconv($data_charset, $send_charset, $body); } $headers = "From: $from\r\n"; $headers .= "Content-type: text/plain; charset=$send_charset\r\n"; $headers .= "Mime-Version: 1.0\r\n";return mail($to, $subject, $body, $headers);}function mime_header_encode($str, $data_charset, $send_charset) { if($data_charset != $send_charset) { $str = iconv($data_charset, $send_charset, $str); } return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';}send_mime_mail('Письмо с сайта', 'help@podsmotri.org', 'Админ', '***@list.ru', 'UTF-8', // кодировка, в которой находятся передаваемые строки 'KOI8-R', // кодировка, в которой будет отправлено письмо 'Чел просит ответа номер '.$int, $message[0]);

Неактивен

#33 2011.06.22 21:24

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

TLENS, все равно не приходит

Неактивен

#34 2011.06.22 23:42

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Значит проблемма на серверной стороне.
Функция iconv есть на сервере?
Добавлено спустя   3 минуты  19 секунд:
Кстати ip многих говнохостов забанены маилом

Неактивен

#35 2011.06.23 00:02

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Попробуй отправить на gmail

Неактивен

#36 2011.06.23 10:34

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Отправляю с локалки, и на gmail и на mail пробовал. iconv есть

Неактивен

#37 2011.06.23 11:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

LooK, так может проблема в локалке? какой сервер стоит? не денвер случаем? там заглушка на email стоит, email складываются в папку /tmp/!sendmail/

Неактивен

#38 2011.06.23 12:36

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

LooK, так может проблема в локалке? какой сервер стоит? не денвер случаем? там заглушка на email стоит, email складываются в папку /tmp/!sendmail/

Спасибо, незнал об этом) Проверил, действительно все письма там.

Неактивен

#39 2011.06.23 22:48

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Код:

1
rename('../files/'.$scan,'../files/'.$filename.'.mp3')

Не пашет почему-то, пробовал даже не с переменной, а любое имя - результат тот же.
Переменные точно содержат нужные значения.

Отредактировано LooK (2011.06.23 22:48)

Неактивен

#40 2011.06.23 23:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

бля, что значит не пашет??? текст ошибки??

Неактивен

#41 2011.06.23 23:22

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

бля, что значит не пашет??? текст ошибки??

false возвращает

Неактивен

#42 2011.06.23 23:30

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Доступ на запись есть?

Отредактировано TLENS (2011.06.23 23:30)

Неактивен

#43 2011.06.23 23:33

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Доступ на запись есть?

денвер

Неактивен

#44 2011.06.23 23:38

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

/usr/local/apache/logs/error.log
Посмотри че там

Неактивен

#45 2011.06.23 23:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

LooK,

Код:

1
print_r(error_get_last());

Неактивен

#46 2011.06.24 09:33

LooK
Участник
Зарегистрирован: 2010.08.14
Сообщений: 71
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

LooK,

Код:

1
print_r(error_get_last());

Спс, помогло

Неактивен

#47 2011.06.24 18:39

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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


Вложения

Неактивен

#48 2011.06.24 18:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

там же есть стандартная возможность скрины отображать, так и с темами.

Неактивен

#49 2011.06.24 18:56

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

ну их отображает,но это уже когда заходишь в инфо о файле,а я хочу чтоб сразу на странице где выводятся темы были показаны скрины ))вот типа как на скрине,только на скрине это картинки,и с темами хочу так же сделать))


Вложения

Неактивен

#50 2011.06.24 18:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну не помню) найди кусок кода который картинки отображает и замени на ручные скриншоты)

Неактивен

#51 2011.06.24 19:03

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а там где темы у меня вообще картинок нету ))только ссылки "скачать" "скачать" и вот хочу чтобы над этими ссылками показывались скрины тем в размере например 80х60 ))
Добавлено спустя   3 минуты  49 секунд:

Код:

1
2
3
4
5
6
7
8
9
// Скиншот
$screen = $setup['spath'].substr($dir, strlen($setup['path'])) . '/' . $filename;
if (is_file($screen.'.gif')) {
echo '<hr noshade size="1" width="100%" class="hr"><strong>Скриншот:</strong><br><img style="margin: 1px;" src="'.$screen.'.gif" alt="screen">';
} elseif (is_file($screen.'.jpg')) {
echo '<hr noshade size="1" width="100%" class="hr"><strong>Скриншот:</strong><br><img style="margin: 1px;" src="'.$screen.'.jpg" alt="screen">';
}
 
$desc = $setup['opath'].substr($dir, strlen($setup['path'])).'/'.$filename.'.txt';

так выводит скрин в инфо о файле,а как в каталог всунуть этот код чтобы выводило скрин,я хз((

Неактивен

#52 2011.06.26 05:25

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Каким образом передать в конструктор класса переменные.
Например
$object = new My_class($var1, $var2);
Как их получить в в конструкторе?

Неактивен

#53 2011.06.26 08:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

эм, так же как и в обычном методе.
public function __construct ($var1, $var2)
{

}

Неактивен

#54 2011.06.26 09:04

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

спс. А то не знал с какой стороны подойти

Неактивен

#55 2011.06.26 19:46

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Проблема через крон не работает запись со MySQL
Логи в файлы записывает. Скрипт работает.
Но если через крон то записи не появляются.
Неужели надо ставить удаленный доступ?
Или проблемма в другом?
Да кстати свои логи стоят туда пишу mysql_error()
То пусто chdir Настроен правильно

Неактивен

#56 2011.06.26 19:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну что за ошибка-то в mysql_error()

Неактивен

#57 2011.06.26 19:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

В том то и дело что не пишет ничего.
А По каком адресу в debian лежат ошибки базы?
Мож туда заглянуть

Неактивен

#58 2011.06.26 19:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

там где mysql стоит)

Неактивен

#59 2011.06.26 20:05

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

mysql не наше зато цени что нашел

[Mon Jun 20 14:12:40 2011] [error] [client 66.249.66.233] File does not exist: /.../www/vsemp3.com/rkzyzlngjovl.html
[Mon Jun 20 14:12:41 2011] [error] [client 66.249.66.233] File does not exist: /.../www/vsemp3.com/iolqxifmu.html
[Mon Jun 20 15:19:22 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpmyadmin
[Mon Jun 20 15:19:22 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpMyAdmin
[Mon Jun 20 15:19:23 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/db
[Mon Jun 20 15:19:23 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/web
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/PMA
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/admin
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/dbadmin
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/PMA2006
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/pma2006
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/sqlmanager
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/mysqlmanager
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/p
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/PMA2005
[Mon Jun 20 15:19:28 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/pma2005
[Mon Jun 20 15:19:28 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpmanager
[Mon Jun 20 15:19:29 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/php-myadmin
[Mon Jun 20 15:19:29 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpmy-admin
[Mon Jun 20 15:19:29 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/mysql

Наивный

Неактивен

#60 2011.06.26 20:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну такое почти на любом сайте можно в логах найти

Неактивен

#61 2011.06.26 21:19

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Хех сделал тестову таблицу все норм.
Ладно разберемся а пока месть поставлю на wget

Неактивен

#62 2011.06.27 09:44

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Есть какая то готовая функция на определение адреса сайта в сообщении?
Даже без http в начале когда то писал но она ужасная.

Неактивен

#63 2011.06.27 10:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

эм... может не надо таких функций? на форуме работают bb-коды, ссылки можно писать через них, а автоопределение специально отключено.

Неактивен

#64 2011.06.27 10:52

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Да нет это я себе хочу в чат.
Просто на сайте когда то сделал чатик. То там ссылки за ссылками пошли
Добавлено спустя   2 минуты  56 секунд:
Вот кусок кода писал еще в том году на него страшно смотреть.

Код:

1
lt;? $domain=file('/home/poise764/public_html/chat/domain.dat'); // Список популярных доменных зон $dom=''; $c=count($domain); for($i=0; $i<$c; $i++){$b=trim($domain[$i]); if(strlen($b)>1){ $dom.=$b.'|';}} $dom=substr($dom,0,-1); setcookie("name_chat", $name_chat, time() + 3600 * 24 * 365, '/', ''); $_SESSION['name_chat']=$name_chat; $message_chat=preg_replace('/(http:\/\/){0,1}[a-zA_Z0-9\-\.]{3,20}\.('.$dom.')+.*\s/si',' <font color="#ff0000">[Не рекламь хуй]</font> ',' '.$message_chat.' '); $name_chat=preg_replace('/(http:\/\/){0,1}[a-zA_Z0-9\-\.]{3,20}\.('.$dom.')+.*\s/i',' <font color="#ff0000">[хуй]</font> ',' '.$name_chat.' ');

Отредактировано TLENS (2011.06.27 10:56)

Неактивен

#65 2011.06.27 16:17

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Структура БД:

Таблица сообщений - mems
Поля:
id
id_user
text
likes
time

Таблица комментариев - mems_comments
id
id_mems
id_user
text
time

Неактивен

#66 2011.06.27 16:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

$q = mysql_query("SELECT * FROM `mems_comments` WHERE id_mems = 'Ид сообщения'");
$n = mysql_num_rows($q);
if ($n) {
    echo 'выводим';
}

Отредактировано TLENS (2011.06.27 16:27)

Неактивен

#67 2011.06.27 16:48

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, чувак, ты гений, но это не то, нужно сделать всё одним запросом к бд.

Отредактировано ByVlad (2011.06.27 16:49)

Неактивен

#68 2011.06.27 16:49

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

smile

Неактивен

#69 2011.06.27 16:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
SELECT `users`.*, `mems`.*, `mems_comments`.*, (COUNT(1) - 1) AS `cnt`
FROM `users`, `mems`
LEFT JOIN `mems_comments` ON `mems`.`id` = `mems_comments`.`id_mems`
WHERE `mems`.`id` = 1
AND `users`.`id` = `mems`.`id_user`;

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

Неактивен

#70 2011.06.27 17:23

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, как всегда спасибо smile.

Неактивен

#71 2011.06.27 18:03

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, всё бы хорошо, только этот запрос берет только одну запись из таблицы mems, а нужно все удовлетворяющие условию.
Немного подкорректировал запрос:
SELECT `users`.`login` AS `us_login`, `users`.`avatar` AS `us_avatar`,
`mems`.*, `mems_comments`.`text` AS `mc_text`, `mems_comments`.`time` AS `mc_time`, (COUNT(1) - 1) AS `cnt`
FROM `users`, `mems`
LEFT JOIN `mems_comments` ON `mems`.`id` = `mems_comments`.`id_mems`
WHERE `mems`.`id_user` = " . $query['id'] . "
AND `users`.`id` = `mems`.`id_user`

Неактивен

#72 2011.06.27 18:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
GROUP BY `mems`.`id`

Неактивен

#73 2011.06.27 18:13

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, ага, оно, спасибо.

Неактивен

#74 2011.06.27 20:42

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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


Вложения

Неактивен

#75 2011.06.27 21:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, ага щас все бросятся тебе топ переписывать.

Неактивен

#76 2011.06.27 21:53

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

я не просил переписывать,я просто спросил в каком файле "в каком файле это нужно прописать?)))" hmm

Неактивен

#77 2011.06.27 23:58

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, (COUNT(1) - 1) AS `cnt`
он должен подсчитать количество записей из таблицы mems_comments где `mems_comments`.`id_mems` = `mems`.`id`
но чет нифига не считает sad
и `users`.`login` AS `us_login`, `users`.`avatar` AS `us_avatar`
нужно ещё достать эти же данные, только `users`.`id` = `mems_comments`.`id_user`

Неактивен

#78 2011.06.28 04:35

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, ^^ вопрос больше неактуален)
Теперь новый вопрос, в цикличном выводе через {foreach} в smarty
в каждом выводимом объекте идет {php}{/php} в него нужно передать {$row.id}

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

Неактивен

#79 2011.06.28 11:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ByVlad, начнем с того, что от {php}{/php} нужно бы отказаться. Иначе попахивает смешиванием логики и представления.

Неактивен

#80 2011.06.28 12:04

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, смотри, мне нужно сделать вывод записей с комментариями как вконтакте, у меня других вариантов нет.
Запрос тот я поправил, но там получалось что если комментария нет, то и записи из таблицы mems в массиве тоже нет.

Неактивен

#81 2011.06.28 12:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

начнем с того, что нужно выложить свой код, еба. иначе что- то обсуждать бесполезно.
давай поправленный SQL запрос и smarty шаблон.

Неактивен

#82 2011.06.28 12:28

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT (
SELECT COUNT(1) FROM `mems_comments` WHERE `id_mems` = `mems`.`id`
) AS `count`,
`users`.`login` AS `us_login`,
`users`.`avatar` AS `us_avatar`,
`mems`.`text` AS `mems_text`,
`mems`.`time` AS `mems_time`,
`mems_comments`.`text` AS `mc_text`,
`mems_comments`.`time` AS `mc_time`,
`mems_comments`.`id` AS `mc_id`
FROM `users`, `mems`, `mems_comments`
WHERE `mems`.`id_user` = 1
AND `users`.`id` = `mems_comments`.`id_user`
AND `mems_comments`.`id_mems` = `mems`.`id`
GROUP BY `mems`.`id`, `mems_comments`.`id` DESC LIMIT 1

Код:

1
span style="color: #0000BB"><?php// шаблон {foreach item=row from=$mems} <table id="{$row.id}"> <tr> <td valign="top"><div class="ava"><a href="/{$querylogin}"><img src="{if !empty($query.avatar)}/files/avatar/s_{$query.avatar}.jpg{else}/template/web/ru/user_mid.gif{/if}" alt="" /></a></div></td> <td valign="top" width="100%"><div class="test"><a href="/{$query.login}"><b>{$query.login}</b></a> {if $user.id == $query.id}<div style="float:right;"> <span class="del"><a href="/mems_delete_{$row.id}.html" title="Удалить запись">удалить</a></span> {if $row.id_added == 0}<span class="del"><a href="/mems_edit_{$row.id}.html" title="Редактировать запись">изменить</a></span>{/if}{/if}<br/></div><br/>{$row.text}<br/><span class="time"><a href="/mems_view_{$row.id}.html">{$row.time|clock}</a></span></div><!-- Комментарии, их нужно в цикле вывести ещё, но как? -->{if $row.count > 0}<div class="com_post_br"></div>{if $row.cnt > 3}<div class="comms">3 последних комментария из <a href="/mems_view_{$mems.id}.html">{$row.cnt}</a></div>{/if}<div class="fontsize"><a href="/{$row.us_login}"><b>{$row.us_login}</b></a> {$row.mc_text}<br /><span class="time">{$row.mc_time|clock}</span> <span class="del"><a href="/mems_comment_delete_{$row.mc_id}">x</a></span></div><div class="hr_"></div>{/if}<!-- Конец комментариев --><div class="hr_"></div> <span class="nr"><a title="Добавить комментарий" href="/{$query.login}?act=add_comment&amp;id={$row.id}#{$row.id}">прокомментировать</a></span> - <span class="nr"><a href="/{$query.login}?act=add_me&amp;id={$row.id}#{$row.id}">добавить себе</a></span> -<span class="nr"><a href="/{$query.login}?act=like&amp;id={$row.id}#{$row.id}">мне нравится </a></span> </td> </tr></table><div class="br_1"></div>{foreachelse}Нифига нету.{/foreach}

Неактивен

#83 2011.06.28 12:35

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

{php}{/php} не вижу.
верни LEFT JOIN

Неактивен

#84 2011.06.28 12:51

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, я думал сделать в {php}{/php} цикл вывода с комментариями, так бы получалось ~5 запросов в цикле, при кешировании норм, у меня получилось только с обычным JOIN.

Неактивен

#85 2011.06.28 13:56

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, с {php}{/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
{foreach item=row from=$mems}
<table id="{$row.id}">
<tr>
<td valign="top"><div class="ava"><a href="/{$querylogin}"><img src="{if !empty($query.avatar)}/files/avatar/s_{$query.avatar}.jpg{else}/template/web/ru/user_mid.gif{/if}" alt="" />
</a></div></td>
<td valign="top" width="100%"><div class="test"><a href="/{$query.login}"><b>{$query.login}</b></a> {if $user.id == $query.id}<div style="float:right;"> <span class="del"><a href="/mems_delete_{$row.id}.html" title="Удалить запись">удалить</a></span> {if $row.id_added == 0}<span class="del"><a href="/mems_edit_{$row.id}.html" title="Редактировать запись">изменить</a></span>{/if}{/if}<br/></div><br/>{$row.text}<br/>
<span class="time"><a href="/mems_view_{$row.id}.html">{$row.time|clock}</a></span></div>
<!-- Комментарии -->
{if $row.count > 0}
{php} $si = 0; {/php}
<div class="com_post_br"></div>
{if $row.cnt > 3}
<div class="comms">3 последних комментария из <a href="/mems_view_{$mems.id}.html">{$row.cnt}</a></div>
{/if}
{php}
global $isql,$tpl,$si;
$query = $isql -> cycle("SELECT `users`.`avatar` AS `us_avatar`, `users`.`login` AS `us_login`, `mems_comments`.*
FROM `mems_comments`,`users`
WHERE `users`.`id` = `mems_comments`.`id_user` AND `mems_comments`.`id_mems` = '".$mems['id']."'
ORDER BY `mems_comments`.`id` DESC LIMIT 3");
echo "SELECT `users`.`avatar` AS `us_avatar`, `users`.`login` AS `us_login`, `mems_comments`.*
FROM `mems_comments`,`users`
WHERE `users`.`id` = `mems_comments`.`id_user` AND `mems_comments`.`id_mems` = '".$si."'
ORDER BY `mems_comments`.`id` DESC LIMIT 3";
$si++;
print_r($tpl['tpl_vars']);
echo '<div class="fontsize">
<a href="/{$row.us_login}"><b>{$row.us_login}</b></a> {$row.mc_text}<br />
<span class="time">{$row.mc_time|clock}</span>
<span class="del"><a href="/mems_comment_delete_{$row.mc_id}">x</a></span>
</div>
<div class="hr_"></div>';
{/php}
{/if}
<!-- Конец комментариев -->
<div class="hr_"></div> <span class="nr"><a title="Добавить комментарий" href="/admin/comm681#681">прокомментировать</a></span> - <span class="nr"><a href="/admin/post/681">добавить себе</a></span> - <span class="nr"><a href="/admin/plus/681" onclick="get()">мне нравится </a></span> </td>
</tr>
</table><div class="br_1"></div>
{foreachelse}
 
{/foreach}

Отредактировано ByVlad (2011.06.28 13:58)

Неактивен

#86 2011.07.01 15:38

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

^^ Все вопросы не актуальны big_smile
Нужно достать данные из таблицы mems где `id_user` равняется записям из таблицы follows, что-то такое написал, но естесна оно не работает)

Код:

1
SELECT `mems`.* FROM `mems` WHERE `mems`.`id_user` IN(SELECT `follows`.* FROM `follows` WHERE `follows`.`id_user` = 1) ORDER BY `mems`.`time` DESC

Неактивен

#87 2011.07.01 15:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
4
SELECT `mems`.*
FROM `mems`
INNER JOIN `follows` ON `follows`.`id_user` = `mems`.`id`
ORDER BY `mems`.`id` DESC

Неактивен

#88 2011.07.04 15:22

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Нужно узнать id_user из трех таблиц mems, mems_comments, mems_likes
и отсортировать их по количеству записей для определенного id_user
как-то так.

Неактивен

#89 2011.07.04 17:04

Вапамнет
Гость

Re: Общие вопросы по PHP

Привет. Как зделать чтоб в песне mр3 при скачеванию менялся альбом, название, исполнитель и т.д на адрес сайта ? Пример ссылки такой  site.ru/load.php?file=(адрес песни. например)wapinet.ru/music.mp3. Какой код нужна вписать в файл load.php чтоб изминить альбом, название и т.д?

#90 2011.07.04 17:47

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Вапамнет написал:

Привет. Как зделать чтоб в песне mр3 при скачеванию менялся альбом, название, исполнитель и т.д на адрес сайта ? Пример ссылки такой  site.ru/load.php?file=(адрес песни. например)wapinet.ru/music.mp3. Какой код нужна вписать в файл load.php чтоб изминить альбом, название и т.д?

если у тебя сеа,то там есть возможность к всем мп3 устанавливать эти данные))

Неактивен

#91 2011.07.09 01:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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

Неактивен

#92 2011.07.10 09:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

\Но у меня не пустая

Неактивен

#93 2011.07.10 10:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, достаточно просто проверить html код валидатором, чтобы понять что из себя представляет скрипт wink

Неактивен

#94 2011.07.10 19:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

\Но у меня не пустая

все говорят что у них все нормик,а у меня пусто(( вот скрин прикрепляю))
Добавлено спустя   2 минуты  42 секунды:

Gemorroj написал:

POFIGISST, достаточно просто проверить html код валидатором, чтобы понять что из себя представляет скрипт wink

Это я согласен Паш))но от паблика не стоит ожидать что выложат хороший скрипт без ошибок и багов на халяву))Поэтому спасибо кодерам которые выкладывают хоть какие то скрипты в паблик(и тебе тоже спасибо) )))


Вложения

Неактивен

#95 2011.07.10 23:44

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Сейс зайду по ftp к тебе гляну че там.\
Надеюсь пароль не поменял
Добавлено спустя   2 минуты  22 секунды:
А у тебя этот сайт на другом сервере. Покажи файл maf.php

Неактивен

#96 2011.07.11 10:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

конкретно на той странице 500 ошибка. проверь синтаксис php кода.

Неактивен

#97 2011.07.13 08:37

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Помогите с запросом. Есть таблица
id | name | categor
Все данные в разброс, нужно выводить из определённой категории и повторяющиеся имена только один раз
пример:
2 | иван | mebel
3 | иван | paleno
4 | саня | mebel
5 | иван | mebel

Нужно только
2 | иван | mebel
4 | саня | mebel

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

Отредактировано DarkRiDDeR (2011.07.13 08:38)

Неактивен

#98 2011.07.13 10:02

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

GROUP BY name

Неактивен

#99 2011.07.13 14:00

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

О, точно! И так просто. А то я уже в подзапросы полез. Спасибо!

Неактивен

#100 2011.07.13 22:13

Anwap
Участник
Зарегистрирован: 2009.09.19
Сообщений: 26
Карма: 0
Профиль

Re: Общие вопросы по PHP

Gemorroj, А как сделать чтоб в таблице постом выше еще и считало,например сколько mebel,сколько poleno?

Неактивен

#101 2011.07.13 23:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Anwap думаю, тут может помочь GROUP_CONCAT

Неактивен

#102 2011.07.14 00:32

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Как оптимизировать данный запрос?
А то выполняется пол минуты.

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT * FROM `video` ORDER BY `id`");while($row = @mysql_fetch_array($q)) { mysql_query("UPDATE `video` SET `url_letit` = '" . (($arr[$row['id']]) ? $arr[$row['id']] : '') . "' WHERE id = '{$row['id']}'");}

Добавлено спустя   1 минуту  1 секунду:
В смысле можно ли его сделать одним запросом?

Неактивен

#103 2011.07.14 01:00

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Как комментируются константы в классах?
например свойства так:

Код:

1
span style="color: #0000BB"><?php /** * Переменная с настройками. * @var array */ private static $_arr;?>

как быть с константами?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#104 2011.07.14 10:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, что в массиве $arr?
Nu3oN,
http://pear.php.net/manual/ru/standards.naming.php

Имена констант всегда должны быть в верхнем регистре с подчеркиваниями для разделения слов. В качестве префикса в именах констант должно использоваться имя пакета/класса, в котором они используются. Например, все константы, которые используются в пакете DB::, начинаются с "DB_".

пример (почему-то с синтаксической ошибкой php, но суть уловить можно) http://pear.php.net/manual/ru/standards.sample.php

Код:

1
span style="color: #0000BB"><?php/** * Methods return this if they succeed */define('NET_SAMPLE_OK', 1);

Неактивен

#105 2011.07.14 13:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

что в массиве $arr?

Код:

1
span style="color: #0000BB"><?php$f = file('data_link.dat'); // ~70000 строк$arr = array();foreach ($f as $v) { preg_match('/id_(\d+)_-_/', $v, $b); if ($b[1]) $arr[$b[1]] = $v;}unset($f);

В общем ссылки

Отредактировано TLENS (2011.07.14 14:43)

Неактивен

#106 2011.07.14 19:10

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Паша а с каких айпишников идет спам?
Они разные?

Неактивен

#107 2011.07.14 20:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

я не смотрел IP, особого труда удалить сообщение и забанить пользователя мне пока не составляет.

Неактивен

#108 2011.07.14 20:24

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj =D
Добавлено спустя   4 минуты  46 секунд:
А как на счет оптимизации, с ним можно что то сделать?

Отредактировано TLENS (2011.07.14 20:29)

Неактивен

#109 2011.07.15 03:15

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Как насчет такого интелекта для вырезания ссылок?

Код:

1
lt;?$commit = preg_replace('/([\s"\'\(\{\|]{0,1})((https{0,1}:\/\/){0,1}(([a-z\-]){3,20}\.){1,5}[a-z]{2,6}[0-9a-z\/\?\.\-\~&;_=%:#\+]*)([\s"\'\)\}\|]{0,1})/usi', ' <font color="#f00">Ссылка вырезаная</font> ', $commit);

Неактивен

#110 2011.07.15 10:35

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

хз) пробуй)

Неактивен

#111 2011.07.15 16:39

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Да попробуваль разные варианты да и множество текстов обработал вроде норм лишнего не хавает

Неактивен

#112 2011.07.15 23:21

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

xavier053, Как ты уже задолбал

Неактивен

#113 2011.07.16 00:05

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Tlens, удалил)


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#114 2011.07.17 08:05

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Есть возможность в php выполнить несколько операций одновременно?

Неактивен

#115 2011.07.17 09:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, нативно нет. можно извращаться всякими exec'ами.

Неактивен

#116 2011.07.17 10:01

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А можешь помочь в этом вопросе? А то я с exec практически не работал. А точнее вообще не работал.

Неактивен

#117 2011.07.17 10:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#118 2011.07.19 03:13

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Вообщем нужно составить запрос сортировки пользователей по активности, что-то типа этого только нормальный:
SELECT * FROM `users` ORDER BY (SELECT COUNT(*) FROM `mems` WHERE `id_user` = что-то),(SELECT COUNT(*) FROM `mems_comments` WHERE `id_user` = что-то),(SELECT COUNT(*) FROM `mems_likes` WHERE `id_user` = чтото) DESC LIMIT 10

помогите пожалуйста)

Отредактировано ByVlad (2011.07.19 03:14)

Неактивен

#119 2011.07.19 10:23

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Вообщем я наверное неверно объяснил, есть 4 таблицы:

mems:
структура:
id
id_user
и ещё ненужные поля

mems_comments:
структура:
id
id_user
id_mems
и ещё ненужные поля

mems_likes:
структура:
id
id_user
id_mems
и ещё ненужные поля.

Нужно составить ТОП-10 самых активных пользователей исходя из количества записей в этих таблицах с приоритетом таблиц mems,mems_comments,mems_likes.

Таблица пользователей:
users:
id
login
и ещё ненужные поля.

Неактивен

#120 2011.07.19 10:29

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
6
7
8
SELECT `users`.*,
(
(SELECT COUNT(1) FROM `mems` WHERE `id_user` = `users`.`id`) +
(SELECT COUNT(1) FROM `mems_comments` WHERE `id_user` = `users`.`id`) +
(SELECT COUNT(1) FROM `mems_likes` WHERE `id_user` = `users`.`id`)
) AS `cnt`
FROM `users`
ORDER BY `cnt` DESC LIMIT 10

Неактивен

#121 2011.07.19 11:30

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj, ты гений, как всегда спасибо)
Добавлено спустя   6 минут  3 секунды:
Gemorroj, а ещё отдельную статистику реально сделать тоесть AS `cnt_mems`, пробовал, не получилось...

Неактивен

#122 2011.07.26 23:05

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Поставил зц мобивап себе,а там ошибка вот такая "Warning: Invalid argument supplied for foreach() in /home2/d4cc1zrx/public_html/index.php on line 62" и я как обычно х\з как её исправить,выкладываю код страницы

Код:

1
span style="color: #0000BB"><?php/** * @author [FaNiska] * @copyright 2009 * Загруз центр * Предложения, идеи, вопросы и об ошибках писать в icq 65-64-538 или на mobi-m-ru@ya.ru */include 'inc/db_connect.php';include 'inc/function.php';include 'inc/set.php';include 'inc/head.php';/*echo '<div class="post">Реклама:<br />';include 'link.php'; include 'link.php'; echo '<hr /></div>';*//// ВЫВОД Разделовif ($index == 1 && !isset($_GET['c'])){ mysql_query("DELETE FROM `cache` WHERE `time` < " . ($time - ($setup['cache_time']) * 60 * 10) . " LIMIT 50"); $category = mysql_query("SELECT * FROM `category` ORDER BY `por`;"); echo '<table border="2" width="100%">'; while ($cat = mysql_fetch_array($category)) { if ($cat['s_name'] == 'vrazdel') { echo '<tr class="vraz"><td colspan="2"><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> &nbsp; &nbsp; &nbsp;' . $cat['r_name'] . '</td></tr>'; } elseif ($cat['s_name'] == 'link') { $tid = explode('|', $cat['folder']); $link = mysql_fetch_array(mysql_query("SELECT * FROM `$tid[0]` WHERE `id`='$tid[1]';")); $count = explode('i', $link['p_i_f']); echo '<tr class="menu"><td><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="?c=' . $tid[0] . '&amp;id=' . $tid[1] . '">' . $cat['r_name'] . '</a></td><td> [' . $count['0'] . $count['1'] . ']</td></tr>'; } elseif ($cat['s_name'] == 'vlink') { echo '<tr class="vraz"><td colspan="2"><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="' . $cat['folder'] . '">' . $cat['r_name'] . '</a></td></tr>'; } else { $count = explode('i', $cat['p_i_f']); $cat['s_name'] = str_replace('files/', '', $cat['s_name']); echo '<tr class="menu"><td><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="?c=' . $cat['s_name'] . '">' . $cat['r_name'] . '</a></td><td> [' . $count['0'] . $count['1'] . ']</td></tr>'; } } echo '</table>'; echo '<hr />'; echo '<div class="navi"><a href="stat.php">Статистика ЗЦ</a> : <a href="set.php">Настройки</a></div>'; /// Удаление временных файлов из папки temp/ $arr_temp = glob('temp/*'); $i = 0; foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } }}/// ВЫВОД Категорийelseif (isset($_GET['c'])){ if ($id != 0) { $head_cat = mysql_fetch_array(mysql_query("SELECT `s_name`, `sizetime` FROM `$table` WHERE `id`='$id';")); } if (!is_dir($head_cat['s_name'] . '/')) { exit('Выбранный раздел не существует'); } if ($head_cat['sizetime'] < ($time - 3600)) { $allfiles = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `' . $table . '` WHERE `folder` LIKE "' . $head_cat['s_name'] . '%" AND `type`=2;')); $allfiles = $allfiles['0']; $allnew = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `' . $table . '` WHERE `folder` LIKE "' . $head_cat['s_name'] . '%" AND `type`=2 AND `up_time`>' . $new_time . ';')); $allnew = '/+' . $allnew['0']; if ($id != 0) { mysql_query("UPDATE `$table` SET `p_i_f`='" . $allfiles . "i" . $allnew . "', `sizetime`='$time' WHERE `id`=$id LIMIT 1;"); } else { mysql_query("UPDATE `category` SET `p_i_f`='" . $allfiles . "i" . $allnew . "', `sizetime`='$time' WHERE `s_name` = 'files/$table' LIMIT 1;"); } } ////////// START - ПОСТРАНИЧНАЯ НАВИГАЦИЯ $k_post = mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `' . $table . '` WHERE `id_p`=' . $id . '')); $k_post = $k_post['0']; $k_page = k_page($k_post, $step); $page = page($k_page); $start = $step * $page - $step; ////////// END - ПОСТРАНИЧНАЯ НАВИГАЦИЯ $parametr = "$table|$id|$sort|$p|$step|$page|$prev_set|$prev_w|$prev_h|$d_w|$d_h"; if (isset($_GET['set'])) { include 'inc/set_inc.php'; } else { echo "<div class='navi'> &raquo; <a href=\"?c=$table&amp;id=$list[id]&amp;sort=$sort&amp;p=$p&amp;step=$step&amp;page=$page&amp;set\">Настройки</a> : <a href='search.php?c=$table&amp;search'>Поиск</a><br /> &raquo; Самые: <a href='top.php?c=$table&amp;id=$id'>скачиваемые</a> : <a href='new.php?c=$table&amp;id=$id'>новые</a><br /> </div>"; } if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cache` WHERE `parametr` = '$parametr' && `time` > " . ($time - ($setup['cache_time']) * 60) . ""), 0) == 0) { $s = mysql_query("SELECT * FROM `$table` WHERE `id_p`=$id ORDER BY `$sort` $por LIMIT $start, $step"); $content = '<table width="100%">'; while ($list = mysql_fetch_array($s)) { if ($list['type'] == 1) { $count = explode('i', $list['p_i_f']); $allfiles = $count['0']; $allnew = $count['1']; $list['r_name'] = str_replace('*', '', $list['r_name']); if ($list['gr_id'] > 0 && $list['gr_id'] < 6) { switch ($list['gr_id']) { // Стандартные иконки групп. Можете изменять тут. case '1': $ico = "<img src='ext/mo.gif' alt='+' width='16' height='16'/> "; break; case '2': $ico = "<img src='ext/jar.gif' alt='+' width='16' height='16'/> "; break; case '3': $ico = "<img src='ext/mp3.gif' alt='+' width='16' height='16'/> "; break; case '4': $ico = "<img src='ext/sis.gif' alt='+' width='16' height='16'/> "; break; case '5': $ico = "<img src='ext/3gp.gif' alt='+' width='16' height='16'/> "; break; } $content = $content . "<tr><td> $ico <a href='group.php?c=$table&amp;id=$list[id]'>$list[r_name]</a></td><td>[$allfiles$allnew]</td></tr>"; } else { $content = $content . "<tr><td><img src='ico/$list[ico].gif' alt='+' /> <a href='index.php?c=$table&amp;id=$list[id]'>$list[r_name]</a></td><td>[$allfiles$allnew]</td></tr>"; } } elseif (in_array($list['f_ras'], $arr_ext)) ////// ФИЛЬТР ПО РАСШИРЕНИЮ { $list['r_name'] = str_replace('*', '', $list['r_name']); if ($prev_set == 1 && isset($prev_h) && isset($prev_w)) { // Если предпросмотр включен if ($list['f_ras'] == 'jpg' || $list['f_ras'] == 'jpeg' || $list['f_ras'] == 'png' || $list['f_ras'] == 'gif') { $content = $content . "<tr class='block'><td colspan='2'> $list[r_name] <a class='info' href='file.php?c=$table&amp;id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'><img src='image.php?c=$table&amp;id=$list[id]&amp;W=$prev_w&amp;H=$prev_h' alt='скачать " . $file_name . "'/> </td><td class='info'><a class='info' href='file.php?c=$table&amp;id=$list[id]'>$list[r_name]</a> " . size_file($list['size']) . "<br />"; if (function_exists('getimagesize')) { $img_size = getimagesize($list['s_name']); $x = "($img_size[0]x$img_size[1])"; } else { $x = ''; } $content = $content . "<a class='info' href='load_img.php?c=$table&amp;id=$list[id]'>Скачать оригинал $x</a><br /> Кол-во скачиваний: $list[count]<br />"; if (isset($d_w) && isset($d_h)) { $content = $content . '<a class=\'info\' href="image.php?c=' . $table . '&amp;id=' . $list['id'] . '&amp;act=d&amp;W=' . $d_w . '&amp;H=' . $d_h . '">Скачать ' . $d_w . 'x' . $d_h . '</a> </td></tr>'; } else $content = $content . "</td></tr>"; } elseif ($list['f_ras'] == '3gp' || $list['f_ras'] == 'mp4' || $list['f_ras'] == 'avi') // можете расширить сами если ваш хостинг поддерживает другие форматы { $content = $content . "<tr class='block'><td colspan='2'> $list[r_name] <a class='info' href='file.php?c=$table&amp;id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'><img src='ffmpeg.php?c=" . $table . "&amp;id=" . $list['id'] . "&amp;W=" . $prev_w . "&amp;H=" . $prev_h . "&amp;k=20' alt='" . $list['r_name'] . " " . $list['f_ras'] . "'/></td><td class='info'>Размер: " . size_file($list['size']) . "<br /><a class='info' href='load.php?c=$table&amp;id=$list[id]'>Скачать $list[f_ras]</a><br /> Кол-во скачиваний: $list[count]</td></tr>"; } else { $screen = eregi_replace($list['f_ras'] . '$', '', $list['s_name']); $arr_sc = glob($screen . '*'); foreach ($arr_sc as $value) { if (eregi('\.gif$|\.png$|\.jpeg$|\.jpg$', $value)) { $img = "<img src=\"screen.php?file={$value}\" alt=\"\" />"; break; } else { $img = ''; } } if (!isset($img) || empty($img)) { $img = "<img src='ext/$list[f_ras].gif' alt='+' width='16' height='16'/>"; } $content = $content . "<tr class='block'><td colspan='2'> $list[r_name] <a class='info' href='file.php?c=$table&amp;id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'>$img</td><td class='info'> Размер: " . size_file($list['size']) . "<br /> Скачиваний: $list[count]<br /> <a class='info' href='load.php?c=$table&amp;id=$list[id]'>скачать $list[f_ras]</a></td></tr>"; } } else { $content = $content . "<tr><td><img src='ext/$list[f_ras].gif' alt='+' width='16' height='16'/> <a href='file.php?c=$table&amp;id=$list[id]'>$list[r_name]</a></td><td>" . size_file($list['size']) . "</td></tr>"; } } } $content = $content . '</table>'; echo $content; include_once 'inc/str.php'; mysql_query("REPLACE INTO `cache` (`parametr`, `content`, `str`, `time`, `count`) VALUES ('$parametr', '" . mysql_real_escape_string($content) . "', '" . mysql_real_escape_string($str) . "', '$time', '1')"); } else { $cache = mysql_fetch_array(mysql_query("SELECT * FROM `cache` WHERE `parametr`='$parametr' LIMIT 1")); echo $cache['content'] . $cache['str']; }}echo '<div class="navi"><a href="http://mobiwap.su">wap знакомства на WapLover.Net</a><br />';echo '<b><a href="readme.php">Купить скрипт загруз центра</a></b></div><div>';include 'inc/foot.php';?>

валидатор показал что нет ошибок((

Неактивен

#123 2011.07.26 23:18

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

валидатор показал что нет ошибок((

тут не в синтаксисе проблема.
Пустая переменная $arr_temp
Добавлено спустя   1 минуту  6 секунд:
т.е. $arr_temp = glob('temp/*');
не вернул нифига.
сейчас дам исправления

Неактивен

#124 2011.07.26 23:21

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а что в ней должно находиться? или она вообще не должна существовать?))

Неактивен

#125 2011.07.26 23:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php $arr_temp = glob('temp/*'); $i = 0; foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } }

замени

Код:

1
span style="color: #0000BB"><?php $arr_temp = glob('temp/*'); $i = 0; if (is_array($arr_temp)) { foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } } }

Отредактировано TLENS (2011.07.26 23:25)

Неактивен

#126 2011.07.26 23:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

спасибо Дим)))

Неактивен

#127 2011.07.26 23:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А хотя можно было просто вставить собаку перед foreach для заглушки эта ошибка не страшная просто нет файлов в папке temp
Добавлено спустя   8 минут  56 секунд:

POFIGISST написал:

а что в ней должно находиться

Глупый вопрос.
заходишь например на php.su кликаешь по ссылке функции по алфавиту и ищешь функцю glob, и смотриш что она должна вернуть

Неактивен

#128 2011.08.03 21:34

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Странно почему в ОПП переменная description не работает.

Код:

1
span style="color: #0000BB"><?phpclass Themes { public $title; public $nav; public $description = 1; public $content; public function __destruct () { global $_SET; $this->parse(); header("Content-type: text/html; charset=utf-8"); var_dump($this); //highlight_string($r); echo $r; } }

результат

Код:

1
2
3
4
object(Themes)#2 (4) {
["description"]=>
string(0) ""
}

["description"]=>string(0) "" вот почему?
В то время как

Код:

1
lt;?class Test { public $description = 1;}$test = new Test;var_dump($test);

Все норм.

Отредактировано TLENS (2011.08.03 22:28)

Неактивен

#129 2011.08.03 22:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

здесь какой-то маразм, а не ООП.
начнем с того, что вот так "global $_SET;" никогда писать нельзя.
и результат - как ты его получил? может ты сам же description и обнулил.

Неактивен

#130 2011.08.03 22:09

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Не понял на счет global, Нужно было сразу в конструкторе принять нужные параметры с set/
Кстати да этот кла вовсе не клас просто совокупность функций. Писал его когда только начинал учить ООП.
Сейчас то уже понял для чего надо ООП.
Но все же я публике тоже ввел в переменную данные то нет их.

Отредактировано TLENS (2011.08.03 22:13)

Неактивен

#131 2011.08.03 22:26

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ты был прав додумался пробить поиском description когда то тестил класс и стоит строчка $Themes->description = '';
Почему я о ней забыл. спс. уберу ту срань с форума. Надо бы и с сервера ее убрать.

Неактивен

#132 2011.08.05 16:08

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Народ как сделать в Mysql сортировку по русским буквам? С английским всё норм, а с русским проблы. Кодировка UTF-8

Неактивен

#133 2011.08.05 17:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

DarkRiDDeR, подозреваю, что нихрена не utf-8. Потому как при корректной работе с кодировками, никаких проблем не возникает.

Неактивен

#134 2011.08.06 06:20

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Да при создании таблицы задал DEFAULT CHARSET utf8, всю запись вёл тоже с utf-8. Выводится всё норм, а сортировка что-то никак.

Неактивен

#135 2011.08.06 09:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

соединение с бд должно быть еще настроено на работу с utf-8

Неактивен

#136 2011.08.06 11:30

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Кажись понял. Я не настраивал, что utf, и mysql при записи считал, что это latin1(по умолчанию), а записывалось utf. Поэтому при выводе всё норм, но при сортироке, mysql сортирует utf, как lаtin. Но как теперь от этого избавиться: данные, которые уже записаны, нужны?

Неактивен

#137 2011.08.06 11:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

SET NAMES utf8

Неактивен

#138 2011.08.06 12:45

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Нет, это уже пробовал. Выходит: MySQL перекодирует, что в UTF, из latin1 в UTF. И получается воопще муть.

Неактивен

#139 2011.08.06 22:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

DarkRiDDeR, твои проблемы) перводи бд в UTF-8

Неактивен

#140 2011.08.07 05:53

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Решил сделать так: сниму дамп в lаtin1 и запихну его, как utf8. Кстати, есть скрипт, который дамп снимает? Рhрmуаdmin не подходит.

Неактивен

#141 2011.08.07 09:53

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Фу-у... Рушил проблему. Хороший скрипт Sypex Dumper v.2.0.6 B (дампы делает). В нём снял дамп в latin1, а потом запихнул, как UTF8. Всё!!! Работает!!!

Неактивен

#142 2011.08.07 10:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

почему phpmyadmin не подходит? лучшее что есть на php для работы с mysql.

Неактивен

#143 2011.08.07 10:07

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Sypex Dumper v.2.0.6 в 4 раза быстрее, если верить разработчику. phpmyadmin на хосте стоит, я сначала через него хотел дамп снять, но там только он в UTF8 даёт. И опять выходит: что хранится в UTF, перекодировается из latin в utf, как-то так. Главное проблему решил smile

Неактивен

#144 2011.08.07 11:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну какая разница, отдаст оно тебе страницу, за 0.4 или 0.1 сек? возможностей-то у phpmyadmin не в 4, а в 1000 раз больше.

Неактивен

#145 2011.08.07 11:13

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Я не говорю, что он хуже, просто у него кракобязи на дампе были

Неактивен

#146 2011.08.11 00:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

помогите сделать приват в чате только с 50 постов,идет вот такая

Код:

1
2
3
4
echo "<select name=\"prvt\">";
echo "<option value=\"0\">Всем</option>";
echo "<option value=\"1\">Приватно</option>";
echo "</select><br/>";

кнопка переключатель,хочу чтоб из базы users['posts'] брало сколько у человека постов,и если меньше 50 постов,то срабатывала функция if else ,то есть,если постов 50 или больше,то в кнопке появляется "Приватно" а если же постов нету,то "Приватно" просто исчезает,и можно говорить только "всем" вот как это сделать?((

Неактивен

#147 2011.08.11 00:32

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST очень просто.

Код:

1
span style="color: #0000BB"><?php$posts = 49; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимитif ($posts >= $limit) { echo "<select name=\"prvt\">"; echo "<option value=\"0\">Всем</option>"; echo "<option value=\"1\">Приватно</option>"; echo "</select><br/>";}// А также чтобы не было дырки вставь такое же возле приема поста.$posts = 49; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимитif ($posts >= $limit) { // разрешаем} else { // не разрешаем}

Неактивен

#148 2011.08.11 00:36

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

спасиб Дим,а "А также чтобы не было дырки вставь такое же возле приема поста." это где прием поста идет?((

Неактивен

#149 2011.08.11 00:42

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

а я *** дай файл на который ссылается форма

Отредактировано TLENS (2011.08.11 00:42)

Неактивен

#150 2011.08.11 00:51

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

вот вся страница,теперь оно определяет сколько постов у того юзера которому я пишу,и если у него нету 50 постов,то я не могу ему в приват ответить,а он мне может если у меня больше 50 постов(


Код:

1
lt;?require'config.php';$user['avr'] = 0;$align='left';$title='Сказать';head();aut();if (!ctype_digit($_GET['rm'])){header('Location: index?'.SID);die;}if (!ctype_digit($_GET['nk'])){header('Location: index?'.SID);die;}$rm = intval($_GET['rm']);$nk = intval($_GET['nk']);who_add($rm,'room'); // Занисываем Кто онлайн...$db->sql_query ("Select rm from rooms where rm='".$rm."';");if (mysql_affected_rows() == 0){echo "Такой комнаты не существует!";foot();exit;}$select = @$db->sql_query ("Select * from users where id='".intval($nk)."'");if (mysql_affected_rows() == 0){echo "Юзер не найден. Возможно ник удалён.<br/>";echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();exit;}$inf = $db->sql_fetchrow ($select);if (ignor(user_inf($inf['id']),$user['id'])==1){echo 'Пользователь <b>'.$inf['user'].'</b> отправил вас в игнор!<br />';echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();exit;}$usid = $inf["id"];$nick = $inf["user"];$usname = $inf["name"];$birth = $inf["birth"];$sex = $inf["sex"];$city = $inf["city"];$mail = $inf["mail"];$site = $inf["site"];$infa = $inf["infa"];$icq = $inf["icq"];$credits = $inf["credits"];$gposts = $inf["gposts"];$status = $inf["status"];$date = $inf["date"];$op = $inf["op"];$onl = $inf["onl"];$mob = $inf["mob"];$us_ip = $inf["user_ip"];$us_soft = $inf["user_soft"];$img = $inf["img"];$nastroi = $inf["nastroi"];$visit = $inf["visit"];$room = $inf["room"];$byeotv = $inf["byeotv"];$number = $inf["number"];$level = $inf["level"];$fr = $inf["friends"];$mysmile = $inf["mysmile"];$votefoto = $inf["votefoto"];$ign = $inf["ignor"];$bee = $inf["site"];$myavatar = $inf["myavatar"];$version = $inf["version"];$postmag = $inf["postmag"];$alltraf = $inf["alltraf"];$postsf = $inf["postsf"];$idpass = $inf["pass"];$rating = $inf["rating"];$clan = $inf["clan"];$myblogs = $inf["myblogs"];$monets = $inf["money"];$presentset = $inf["presentset"];if ($credits>=0 && $credits<100) $victstatus="Ученик";if ($credits>=100 && $credits<500) $victstatus="Студент";if ($credits>=500 && $credits<1000) $victstatus="Бакалавр";if ($credits>=1000 && $credits<2000) $victstatus="Магистр";if ($credits>=2000 && $credits<5000) $victstatus="Кандидат в доктора";if ($credits>=5000 && $credits<7000) $victstatus="Доктор наук";if ($credits>=7000) $victstatus="Учитель НеЗнайки =)";$levelselect = @$db->sql_query ("Select * from levels where level='".$level."'");$levels = @$db->sql_fetchrow($levelselect);$levname = $levels["name"];echo "Сообщение для <b>".$nick."</b><br/>";if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&amp;act=add&amp;nk='.$nk.'&amp;'.SID.'" method="post">';if ($ver=='wml')echo '<br/><input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<br/><input type="text" name="msg" maxlength="512" title="Text"/><br/>';$posts = $inf["posts"]; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимит if ($posts >= $limit) { echo "<select name=\"prvt\">"; echo "<option value=\"0\">Всем</option>"; echo "<option value=\"1\">Приватно</option>"; echo "</select><br/>";} // А также чтобы не было дырки вставь такое же возле приема поста. $posts = $inf["posts"]; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимит if ($posts >= $limit) { // разрешаем} else { // не разрешаем}$posts = $inf["posts"];if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}if ($ver=='wml'){echo '<anchor title="go">Сказать<go href="tell?rm='.$rm.'&amp;act=add&amp;nk='.$nk.'&amp;'.SID.'" method="post">';echo '<postfield name="msg" value="$msg'.$ref.'"/><postfield name="dd" value="$dd"/><postfield name="emo" value="$emo"/><postfield name="color" value="$color"/><postfield name="prvt" value="$prvt"/></go></anchor><br />';}else{echo '<input type="submit" class="ibutton" value="Сказать"/></form><br />';}echo '<br />';$b_ip = $db->sql_fetchrow($db->sql_query ("Select * from bannip;"));$db->sql_query ("Select * from bannlist WHERE (ip = '".$inf[user_ip]."')and(soft = '".$inf[user_soft]."') LIMIT 1;");if ((mysql_affected_rows()!=0)||($inf[bann]>$time)||(substr_count($ip, $b_ip[ip])!=0)){echo "<font color=\"red\"><b>Пользователь в бане!</b></font><br />";}$k_g=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where user_id = '".$inf['id']."' and access != '1'"),0);if($k_g!=0){echo '<dl></dl>';$r = $db->sql_query ("Select * from group_users where user_id = '".$inf['id']."' and access != '1' order by id LIMIT 100");while($a = @$db->sql_fetchrow($r)){$g = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$a['gid']."'"));$lider = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$g['id']."'"));echo 'В клане: <a href="/groups/group'.$g['id'].'">'.$g['name'].'</a><br>';if ($lider['lider_id']==$inf['id']) echo ' (<b>Лидер</b>)';echo '<br />';}}$sit = $_SERVER['HTTP_HOST'];if($inf['myavatar']!='')echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'"><br>';$k_a = $db->sql_fetchfield($db->sql_query("select count(*) as num from foto_albom where user_id = '".$inf[id]."'"),0);if ($k_a!=0)echo links.' <a href="'.H.'album'.$inf[id].'">Альбомы ('.$k_a.')</a>'.div;$aud = $db->sql_fetchfield($db->sql_query("select count(*) as num from audio where user_id = '".$inf[id]."'"),0);if ($aud!=0)echo links.'f <a href="'.H.'audio'.$inf[id].'">Личный звук</a>'.div;echo "<u>Ник</u>: $inf[user]";if($onl+300>time()){echo" <u><img src='/img/online/on.gif'/></u><br/>";}else{echo" <u><img src='/img/online/off.gif'/></u></br>";}echo ' <u>Имя</u>: '.$inf[name].'<br/>';echo ' <u>Статус</u>: <b>'.$inf[status].'</b><br/>';if(($inf[level]>3)) echo " <u>Должность</u>: <b>$levname</b><br/>";if ($inf[sex]==1)echo " <u>Пол</u>: М<br/>";else if ($inf[sex]==0)echo " <u>Пол</u>: Ж<br/>";if($inf[day]!=0||$inf[month]!=0||$inf[year]!=0)echo " <u>Дата рождения</u>: $inf[day]-$inf[month]-$inf[year]<br/>";echo " <u>Постов</u>: $posts (+ ".$inf['dayp'].")<br>";echo " <u>Монеток</u>: $inf[rur]<br/>";if ($inf[para]>=1){if ($inf[sex]==0){echo ' <u><font color="black">Замужем за </font></u>: '.nik($inf[para]).' <br />'; }else{echo ' <u><font color="black">Женат на </font></u>: '.nik($inf[para]).' <br />'; }}$mail=explode('|',$inf['mail']);$mobtel=explode('|',$inf['mobtel']);$hometel=explode('|',$inf['hometel']);$icq=explode('|',$inf['icq']);if ($inf[site]!='' || $mail[0]!='' || $mobtel[0]!='' || $hometel[0]!='' || $icq[0]!=''){echo '<dl></dl>';if (($mail[0]!='') && (($mail[1]==0)||(friends($inf['id'],$user['id'])==1)))echo " <u>Email</u>: <a href=\"mail?to=$mail[0]\">$mail[0]</a><br/>";if (($mobtel[0]!='') && (($mobtel[1]==0)||(friends($inf['id'],$user['id'])==1)))echo " <u>Моб. телефон</u>: $mobtel[0]<br/>";if (($hometel[0]!='') && (($hometel[1]==0)||(friends($inf['id'],$user['id'])==1)))echo " <u>Дом. телефон</u>: $hometel[0]<br/>";if (($icq[0]!='') && (($icq[1]==0)||(friends($inf['id'],$user['id'])==1)))echo "<u>ICQ</u>: $icq[0]<br/>";if ($inf[site]!='')echo " <u>Вап-сайт</u>: <a href=\"http://$inf[site]\">http://$inf[site]</a><br/>";}echo " <u>О себе</u>: $infa<br/>";echo " <u>Дата реги</u>: $date<br/>";echo " <u>День рождения</u>: $inf[day]-$inf[month]-$inf[year]<br/>";echo " <u>Город</u>: $inf[city]<br/>";echo " <u>ID</u>: $inf[id]<br/>";echo '<br />';$k_st=$db->sql_fetchfield($db->sql_query("select count(*) as num from stena where user_id = '".$inf['id']."'"),0);$v0=$db->sql_fetchfield($db->sql_query("select count(*) as num from vote_us where user_id = '".$inf['id']."'"),0);echo links.' <a href="'.H.'stena'.$inf['id'].'">Стена '.$inf['user'].'</a> ('.$k_st.')'.div;$k_g = $db->sql_fetchfield($db->sql_query("select count(*) as num from gifts where gift_id = '".$inf['id']."'"),0);echo links.' <a href="gifts'.$inf['id'].'">Подарки '.$inf['user'].'</a>('.$k_g.')'.div;$usf = $db->sql_fetchfield($db->sql_query ("select count(*) as num from friends where user_id ='".$inf[id]."' and yes = '1';"),0);echo "<u><a href=\"my/friends?mod=friends&nk=$inf[id]\">Друзья ".$inf['user']."</a></u><br/>";if (friends($inf[id],$user['id'])==0)echo links.' <a href="my/friends?mod=add&act=add&nick='.$inf[id].'">В друзья</a><br><br>'.div;else echo links.' <a href="my/friends?del='.friends($inf[id],$user[id],'id').'">Из друзей</a><br><br>'.div;echo links.' <a href="my/privat?mod=add&to='.$inf[id].'">Написать ему(ей) письмо</a>'.div;if($user[level]>=7){echo '<br /><b><a href="admin/users?mod=view&amp;nick='.$inf[id].'">Апдейт юзера</a></b><br/><br />'; }if($user["level"]>5){if(($inf["level"]<7)||($user["level"]>6)){echo $div5;echo "<b>IP:</b> ".$us_ip." (".opsos($us_ip).")<br/>";echo "<b>Soft:</b> ".$us_soft."<br/>";if ($inf[ver]==wml) echo "<b>Версия сайта:</b> WML<br/>";else echo "<b>Версия сайта:</b> xHTML<br/>";echo $div5;}}/*echo "<a href=\"forum/?$ses&amp;nk=$usid&amp;mod=temus\">Все темы пользователя на форуме</a><br/>";echo "<a href=\"forum/?$ses&amp;nk=$usid&amp;mod=postus\">Все сообщения пользователя на форуме</a><br/>";*/echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();?>

Неактивен

#151 2011.08.11 01:02

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ты уверен что такой столбец существует "posts"?
Что в столбце qposts?

Отредактировано TLENS (2011.08.14 08:17)

Неактивен

#152 2011.08.11 01:07

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

в столбце gposts пусто,а в столбце posts посты записаны, идет таблица users столбец posts  в ней))

Неактивен

#153 2011.08.11 01:09

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ты не тот файл мне дал. дай тот куда отправляются данные

Отредактировано TLENS (2011.08.11 01:10)

Неактивен

#154 2011.08.11 01:15

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Код:

1
lt;?require'config.php';aut();if (!ctype_digit($_GET['rm'])){header('Location: index');die;}$rm = check(intval($_GET['rm']));if (check(intval($_GET['del']))==1){if ($user['level']>=7){mysql_query("DELETE FROM `message` WHERE `rm` = '".$rm."'");}}who_add($rm,'room'); // Занисываем Кто онлайн...$rooms = mysql_fetch_array(mysql_query("SELECT * FROM `rooms` WHERE `rm` = '$rm'"));if (mysql_affected_rows() == 0){$align='center';$title='Ошибка!';head();echo 'Такой комнаты не существует!<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ($rooms['intim']==1){if(!isset($_POST['inps']) && isset($_SESSION['inps']))$inps = check(intval($_SESSION['inps']));else $inps = check(intval($_POST['inps']));$_SESSION['inps'] = $inps;}if(empty($inps)) $inps = 0;if ($user['level']<$rooms['level']){$align='center';$title='Ошибка!';head();echo 'Извините, но в эту комнату Вам доступ запрешен!<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if (($rooms['sartir']!=1) && ($user['kik']>$time)){$align='center';$title='Вы выпнуты!';head();echo '<b>'.user($user['whokik']).'</b> выпнул вас из чата на <b>'.kikt($user['kik']).'</b> <br />Причина: <b>'.$user['whykik'].'</b><br />';$rooms = mysql_query("SELECT * FROM `rooms` WHERE sartir = '1' ORDER BY `pos` ASC");if(mysql_num_rows($rooms)!=0)echo 'Вам разрешен доступ только в<br />';while($room = mysql_fetch_array($rooms)){if ($room['level']<=$user['level'])echo '<a href="room?rm='.$room['rm'].'">'.$room['name'].'</a><br />';}echo '<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ((check($_GET['sartir']==sartir))&&($rooms['sartir']==1)){$align='left';$title=$rooms['name'];head();echo '<b>Внимание!</b><br/>';echo 'Сейчас вы попадете в '.$rooms['name'].'<br/>Здесь вы можете делать все, что угодно (кроме рекламы и флуда).<br/>И за весь происходящий здесь беспредел администрация чата никакой ответственности не несет.<br/>Людям со слабыми нервами и тонкой душевной организацией заходить в '.$rooms['name'].' настоятельно не рекомендуется.<br/>';echo gbinroom.'<a href="room?rm='.$rm.'">Войти</a>'.div;echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ((check($_GET['strip']==strip))&&($rooms['strip']==1)){$align='left';$title=$rooms['name'];head();echo '<center><a><img src="strip/xen/58.JPG" alt=""></a></center>';echo 'стриптиз команды <br/><br/>!хентай (1рубль)<br/>!мужик (1рубль)<br/>!баба (1рубль)<br/>!бомжую (бесплатно)<br/><br/>';echo 'дурь <br/><br/>!пива (1 рубль)<br/>!водки (2 рубля)<br/>!косяк (5 рублей)<br/>!лекарство (1 рубль)<br/>';echo gbinroom.'<a href="room?rm='.$rm.'">до +18 </a>после не входить</a>'.div;echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ((check($_GET['zags']==zags))&&($rooms['zags']==1)){$zag= mysql_query ("Select * from zags WHERE `status` ='1' LIMIT 1 ");$zags = mysql_fetch_array ($zag);$align='left';$title=' '.$rooms['name'].'';head();if($zags[status]==1){require'sys/calendar.php';echo ' '.date("H:i", $time).' ';echo '<center><bgsound src="zags/logo.mid"loop="1"><a><img src="zags/zags.jpeg" alt=""></a></center>';echo 'Сейчас состоится священное таинство бракосочетания<br/>';echo links.'<a><img src="man.gif" alt=""></a> жених '.nik($zags[genix]).' '.div;echo links.'<a><img src="woman.gif" alt=""></a> невеста '.nik($zags[nevesta]).' '.div;echo ' свидетель '.nik($zags[svid]).' <br /> ';echo ' свидетельница '.nik($zags[svidet]).' <br /> ';echo 'дата свадьбы: '.$zags[d].'-'.$zags[m].'-'.$zags[g].' <br />';echo 'время: '.$zags[cm].':'.$zags[min].' <br />';echo 'ведущий: '.nik($zags[ved]).' <br /><br/>';echo gbinroom.'<a href="room?rm='.$rm.'">Войти</a>'.div;echo gbinroom.'<a href="enter">Прихожая</a>'.div;}else{echo '<b>Cейчас пока сюда нельзя. о начале проведения церемонии вам сообщат</b><br/>';echo gbinroom.'<a href="enter">Прихожая</a>'.div;}foot();}if (($rooms['intim']==1)&&((check($_GET['intim']==intim))||(empty($inps))||(strlen2($inps)<4)||($inps==0))){$align='left';$title=$rooms['name'];head();if ($ver!='wml')echo '<form action="room?rm='.$rm.'" method="post">';echo '* Ключ(min: 4):<br /><input name="inps" maxlength="30" title="Название"/><br/>';if ($ver=='wml'){echo '<br /><anchor title="go">Войти<go href="room?rm='.$rm.'" method="post"><br />';echo '<postfield name="inps" value="$inps"/></go></anchor><br />';}else{echo '<br /><input type="submit" class="ibutton" value="Войти"/></form><br /><br />';}echo '<b>*</b> Ключ должен быть длиннее 4 символов (латинских) и не должен состоять из одних 0<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}$bs=explode('|',$user['binds']);$align='left';$title=$rooms['topic'].'-'.date("H:i", $time);head();if ($user['softk']!=1){if ($rooms['intim']!=1)echo '[<a href="who_room?rm='.$rm.'" accesskey="'.$bs[2].'">Кто в комнате?</a>]';echo '[<a href="who?rm='.$rm.'" accesskey="'.$bs[3].'">Кто где?</a>]';echo '[<a href="http://x4atix.ru/my/index.php">Личный кабинет</a>]';if ($user['level']>=4&&$rooms['intim']!=1)echo '[<a href="topic?rm='.$rm.'" accesskey="'.$bs[5].'">Топ</a>]<br />';}echo gbinroom.'<a href="tell?rm='.$rm.'" accesskey="'.$bs[0].'">Сказать ['.$bs[0].']</a><br>';if ($user['polevv']!=2&&$user['polevv']!=0){if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&act=add" method="post">';if ($ver=='wml')echo '<input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<input name="msg" maxlength="512" title="Text"/><br/>';if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}echo '<input type="submit" class="ibutton" value="Сказать"/></form><br />';}echo '<a href="room?rm='.$rm.'&obn=obn" accesskey="'.$bs[1].'">Обновить ['.$bs[1].']</a> '.div;if (check($_GET['obn'])==obn){header ('Location: room?rm='.$rm.''); exit;}if (empty($user['max'])) $user['max']=10;$max = $user['max'];$k_post=mysql_result(mysql_query("select COUNT(*) from message WHERE `rm` = '".$rm."' and `inps` = '".$inps."';"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;if ($k_post == 0)echo 'Здесь сообщений пока нет :(<br />';if (isset($_GET['err']) && $_GET['err'] == 't')echo '<b>Промежуток между сообщениями должен быть больше '.$rooms['flyd'].' сек.</b><br />';if (isset($_GET['delete'])){if ($user['level']>=5){mysql_query("DELETE FROM `message` WHERE `id` = '".$_GET['delete']."'");echo 'Сообщение удалено<br />';}else{echo 'Сообщение не удалено<br />';}}if ($rooms['umnik']!=0) require H.'bots/umnik1.php';if ($rooms['shut']!=0) require H.'bots/shut.php';if ($rooms['znatok']!=0) require H.'bots/znatok.php';if ($rooms['anek']!=0) require H.'bots/anek.php';if ($rooms['tupica']!=0) require H.'bots/umnikmat1.php';if ($rooms['tupica']!=0) require H.'bots/tupica.php';$mess = @mysql_query( @"SELECT * from `message` WHERE `rm` = '".$rm."' and `inps` = '".$inps."' order by id DESC limit $start, $max;" );while($msg = @mysql_fetch_array($mess)){$text = $msg['msg'];if ($msg['color']>0) $text = color_msg($text);if ($msg['bb']>0)$text = bb_msg($text);if ($msg['emo']>0)$text = emo_msg($text);if (($rooms['tupica']==0) && ($rooms['sartir']==0))if ($rooms['antim']>0)$text = antim($text);if ($rooms['antir']>0)$text = antir($text);if ($msg['komu']!=0) {if ($user['id']==$msg['komu']) $komu = '<span style="color: #FF0000;">'.user($msg['komu']).'</span>,';else $komu = user($msg['komu']).',';}else{$komu = '';}if ($msg['privat']==0){if ($msg['user_id']!=0)echo nik($msg['user_id'],''.H.'inside?rm='.$rm.'&nk='.$msg['user_id'].'').date("(H:i", $msg['time']).')';else echo '<img src="'.H.'img/bot.gif" alt="" /><font color="#000000">'.$msg['user'].'</font>'.date("(H:i", $msg['time']).')';if ($user['level']>=5)echo '<small><a href="room?rm='.$rm.'&delete='.$msg['id'].'">[X]</a></small>';echo '>'.$komu.text($text).'<br />';}else if ($msg['privat']==$user['id']||$msg['user_id']==$user['id']){if ($msg['user_id']!=0)echo nik($msg['user_id'],''.H.'inside?rm='.$rm.'&nk='.$msg['user_id'].'').date("(H:i", $msg['time']).')';else echo '<img src="'.H.'img/bot.gif" alt="" /><font color="#ffff00">'.$msg['user'].'</font>'.date("(H:i", $msg['time']).')';echo '<b>[P!]</b>';if ($user['level']>=5)echo '<small><a href="room?rm='.$rm.'&delete='.$msg['id'].'">[X]</a></small>';echo '>'.$komu.text($text).'<br />';} else if (($msg['privat']!=$user['id']||$msg['user_id']!=$user['id']) && $user['level']>=$set['privat'] && $set['privat']!=0){ // Чтение привата супер админами...if ($msg['user_id']!=0)echo nik($msg['user_id'],''.H.'inside?rm='.$rm.'&nk='.$msg['user_id'].'').date("(H:i", $msg['time']).')';else echo '<img src="'.H.'img/bot.gif" alt="" /><font color="#ffff00">'.$msg['user'].'</font>'.date("(H:i", $msg['time']).')';echo '<b>[!!!]</b>';if ($user['level']>=5)echo '<small><a href="room?rm='.$rm.'&delete='.$msg['id'].'">[X]</a></small>';echo '>'.$komu.text($text).'<br />';}}if ($user['polevv']!=1&&$user['polevv']!=0){echo gbinroom.'Сказать:'.div;if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&act=add" method="post">';if ($ver=='wml')echo '<input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<input name="msg" maxlength="512" title="Text"/><br/>';if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}if ($ver=='wml'){echo '<anchor title="go">Сказать<go href="tell?rm='.$rm.'&act=add" method="post">';echo '<postfield name="msg" value="$msg'.$ref.'"/><postfield name="dd" value="$dd"/><postfield name="emo" value="$emo"/><postfield name="color" value="$color"/></go></anchor>';echo '<br/>';}else{echo '<input type="submit" class="ibutton" value="Сказать"/></form><br />';}}echo gbinroom;if(check($_GET['histiri'])==histiri){str(H.'room?rm='.$rm.'&histiri=histiri&',$k_page,$page);}else{echo '<a href="room?rm='.$rm.'&histiri=histiri" accesskey="'.$bs[6].'">История ['.$bs[6].']</a>';}echo div;if ($user['softk']!=0){if ($ver=='wml'){if ($rooms['intim']!=1)echo '<do type="options" name="who_room" label="Кто в комнате?"><go href="who_room?rm='.$rm.'"/></do>';echo '<do type="options" name="who" label="Кто где?"><go href="who?rm='.$rm.'"/></do><do type="options" name="smiles" label="Смайлы"><go href="smiles/index?rm='.$rm.'"/></do>';if ($user['level']>=4&&$rooms['intim']!=1)echo '<do type="options" name="topic" label="Сменить Топик"><go href="topic?rm='.$rm.'"/></do>';if ($user['level']>=7)echo '<do type="options" name="topic" label="Очистить комнату"><go href="room?rm='.$rm.'&del=1"/></do>';echo '<br />';}else{if ($rooms['intim']!=1)echo '[<a href="who_room?rm='.$rm.'" accesskey="'.$bs[2].'">Кто в комнате?['.$bs[2].']</a>]';echo '[<a href="who?rm='.$rm.'" accesskey="'.$bs[3].'">Кто где?['.$bs[3].']</a>][<a href="smiles/index?rm='.$rm.'" accesskey="'.$bs[4].'">Смайлы['.$bs[4].']</a>]';if ($user['level']>=4&&$rooms['intim']!=1)echo '[<a href="topic?rm='.$rm.'" accesskey="'.$bs[5].'">Сменить Топик['.$bs[5].']</a>]<br />';if ($user['level']>=7)echo '[<a href="room?rm='.$rm.'&del=1">Очистить комнату</a>]<br />';}}if ($rooms['intim']==1)echo gbinroom.'<a href="enter?intim">Выйти</a>'.div;echo gbinroom.'<a href="enter" accesskey="'.$bs[7].'">Прихожая ['.$bs[7].']</a>'.div;foot();?>

вот файл комнат,в него данные которые юзер пишет отправляются))

Неактивен

#155 2011.08.11 01:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

И это не он коточь там поидее реврайт стоит. дай мне файл на который ссылается tell и что в config.php?

Неактивен

#156 2011.08.11 01:33

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Вот файл телл,он ссылается на переменную rm

Код:

1
lt;?require'config.php';$user['avr'] = 0;$align='left';$title='Сказать';aut();head();$act = check($_GET['act']);$rm = intval($_GET['rm']);if (empty($rm)) header ('Location: enter');$rooms = mysql_fetch_array(mysql_query("SELECT * FROM `rooms` WHERE `rm` = '$rm'"));if ($rooms['intim']==1){if(!isset($_POST['inps']) && isset($_SESSION['inps']))$inps = check(intval($_SESSION['inps']));else $inps = check(intval($_POST['inps']));$_SESSION['inps'] = $inps;}if(empty($inps)) $inps = 0;if (($rooms['sartir']!=1) && ($user['kik']>$time)){echo '<b>'.user($user['whokik']).'</b> выпнул вас из чата на <b>'.kikt($user['kik']).'</b> <br />Причина: <b>'.$user['whykik'].'</b><br />';$rooms = mysql_query("SELECT * FROM `rooms` WHERE sartir = '1' ORDER BY `pos` ASC");if(mysql_num_rows($rooms)!=0)echo 'Вам разрешен доступ только в<br />';while($room = mysql_fetch_array($rooms)){if ($room['level']<=$user['level'])echo '<a href="room?rm='.$room['rm'].'">'.$room['name'].'</a><br />';}echo '<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if (empty($act)){if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&amp;act=add" method="post">';if ($ver=='wml')echo '<br/><input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<br/><input name="msg" maxlength="512" title="Text"/><br/>';if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}if ($ver=='wml'){echo '<br /><anchor title="go">Сказать<go href="tell?rm='.$rm.'&amp;act=add" method="post">';echo '<postfield name="msg" value="$msg'.$ref.'"/><postfield name="dd" value="$dd"/><postfield name="emo" value="$emo"/><postfield name="color" value="$color"/></go></anchor>';echo '<br/><br />';}else{echo '<br /><input type="submit" class="ibutton" value="Сказать"/></form><br /><br />';}}else{function latrus($textw) {return str_replace( array('Ё','Ё','Ж','Ж','Ч','Ч','Щ','Щ','Щ','Ш','Ш','Э','Э','Ю', 'Ю','Я', 'Я','ч','ш','щ','э','ю','я','ё','ж','A','Б','В','Г', 'Д','E','З','И','Й ','К','Л','М','Н','О','П','Р','С','Т','У', 'Ф','Х','Ц','Ы','а','б','в', 'г','д','е','з','и','й','к','л', 'м','н','о','п','р','с','т','у','ф','х ','ц','ы','Ъ','ъ','Ь', 'ь'), array('YO','Yo','ZH','Zh','CH','Ch','SHC','SHc','Shc','SH', 'Sh','YE','Ye','YU','Yu','YA','Ya','ch','sh','shc','ye','yu', 'ya','yo ','zh','A','B','V','G','D','E','Z','I','Y','K','L', 'M','N','O','P','R' ,'S','T','U','F','H','C','X','a','b','v', 'g','d','e','z','i','y','k',' l','m','n','o','p','r','s','t', 'u','f','h','c','x','','','',''),$textw); }if ($setss[pivo]==1 || $setss[pivo]==2 || $setss[vodka]==1 || $setss[vodka]==2 ){$strr=check($_POST['msg']);$str =latrus($strr); }if ($setss[kosak]==1 ){$strr=check($_POST['msg']);$str =latrus($strr); }function vodka ($t){ $c = strlen($t); for($i=0;$i<$c;$i++) { $t[$i] = (is_int($i/2)) ? strtoupper($t[$i]) : $t[$i]; $ret[] = $t[$i]; } return implode('',$ret); } function pivo ($t){ $c = strlen($t); for($i=0;$i<$c;$i++) { $t[$i] = (is_int($i/3)) ? strtoupper($t[$i]) : $t[$i]; $ret[] = $t[$i]; } return implode('',$ret); } if ($setss[pivo]==1 || $setss[pivo]==2 ){$msg =translit(pivo($str));}if ($setss[vodka]==1 || $setss[vodka]==2 ){$msg =translit(vodka($str));}if ($setss[kosak]==1 ){$msg =vodka($str);}if ($setss[pivo]+$setss[vodka]+$setss[kosak]==0){$msg =check($_POST['msg']);}$dd = check($_POST['dd']);$emo = check($_POST['emo']);$color = check($_POST['color']);$prvt = check($_POST['prvt']);if(isset($_GET['nk'])) $nk = intval($_GET['nk']);else $nk = 0;if($prvt!=0){if(isset($_POST['prvt']) && isset($_GET['nk'])) $privat = intval($_GET['nk']);}else $privat = 0;if (strlen2($msg)<2){header ('Location: room?rm='.$rm.''); exit;}$msg = iconv('utf-8', 'windows-1251', $msg);$msg = substr($msg,0,512);$msg = iconv('windows-1251', 'utf-8', $msg);if ($user['translit']==1)$msg = translit($msg);$mess=mysql_result(mysql_query("select COUNT(*) from message WHERE `user_id` = '$user[id]' and `time`>'".($time - $rooms['flyd'])."';"),0);if ($mess > 0){ header ('Location: room?rm='.$rm.'&err=t'); exit;}if ($rooms['inkog']!=0){mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,emo,bb,color,komu,privat) VALUES ('Инкогнито','0','$time','$msg','$rm','$emo','$dd','$color','$nk','$privat')");}else{mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,emo,bb,color,komu,privat,inps) VALUES ('$user[user]','$user[id]','$time','$msg','$rm','$emo','$dd','$color','$nk','$privat','$inps')");}posts_add();if ($rooms['umnik']!=0) require H.'bots/umnik3.php';if ($rooms['tupica']!=0) require H.'bots/umnikmat2.php';if ($rooms['tupica']!=0) require H.'bots/tupica2.php';if ($rooms['flyder']!=0) require H.'bots/flyder.php';if ($rooms['strip']!=0){if ($msg=='!пива'||$msg=='!пиВа'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update setus set pivo='1',vodka='0',timer='".(time()+600)."' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+1)."' where user_id='".$user["id"]."'");$mes = '[yellow]держи пивка[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/pivo.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... слюнки глотай!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!водки'||$msg=='!воДки'){if ($rooms['striper']!=0){if ($user['rur']>=2){mysql_query ("Update users set rur='".($user['rur']-2)."' where id='".$user["id"]."'");mysql_query ("Update setus set vodka='1',timer='".(time()+1200)."',pivo='0' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+2)."' where user_id='".$user["id"]."'");$mes = '[yellow]хватай стакан крепче![/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/vodka.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... слюнки глотай!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!косяк' || $msg=='!коСяК' || $msg=='!kOsYaK'){if ($rooms['striper']!=0){if ($user['rur']>=15){mysql_query ("Update users set rur='".($user['rur']-15)."' where id='".$user["id"]."'");mysql_query ("Update setus set kosak='1',pivo='0',vodka='0',timkos='".(time()+1800)."' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+5)."' where user_id='".$user["id"]."'");$mes = '[yellow]пыхай...[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/kosak.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... слюнки глотай!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='! LeKaRsTvO' || $msg=='! лЕкаРстВо' || $msg=='! ЛеКаРсТвО'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-10)."' where id='".$user["id"]."'");mysql_query ("Update setus set kosak='0',pivo='0',vodka='0',timer='0',timkos='0' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+10)."' where user_id='".$user["id"]."'");$mes = '[yellow]ща мы тебя вылечим - 1 рубль[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/tabletka.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего десять.... торчи дальше!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!хентай' || $msg=='!хЕнтАй' || $msg=='!хеНтАй' || $msg=='!хeNtAy'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update users set rurmag='".($user['rurmag']+1)."' where id='".$user["id"]."'");$mes = '[yellow]минус рублик гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,200);$mes="<a><img src=\"/strip/xen/".$rand.".JPG\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... в щелку подсматривай за другими или сбегай в банк';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!мужик' || $msg=='!муЗхиК' || $msg=='!мУзХиК' || $msg=='!mUzHiK'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update users set rurmag='".($user['rurmag']+1)."' where id='".$user["id"]."'");$mes = '[yellow]минус рублик гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,1001);$mes="<a><img src=\"/gifts/3/".$rand.".jpg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... в щелку подсматривай за другими или сбегай в банк';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!бомжую' || $msg=='!боМзхУю' || $msg=='!бОмЗхУйУ' || $msg=='!bOmZhUyU'){if ($rooms['striper']!=0){$mes = '[yellow]Нравится? гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,1381);$mes="<a><img src=\"/gifts/2/".$rand.".jpg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!баба' || $msg=='!баБа' || $msg=='!бАбА' || $msg=='!bAbA'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update users set rurmag='".($user['rurmag']+1)."' where id='".$user["id"]."'");$mes = '[yellow]минус рублик гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,208);$mes="<a><img src=\"/strip/baba/".$rand.".jpg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... в щелку подсматривай за другими или сбегай в банк';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}}if ($rooms['zags']!=0){if ($rooms['svaisch']!=0){$zag= mysql_query ("Select * from zags WHERE `status` ='1' LIMIT 1 ");$zags = mysql_fetch_array ($zag);if($zags[status]==1){$zag2= mysql_query ("Select * from users WHERE `id` ='".$zags[genix]."' LIMIT 1 ");$zags2 = mysql_fetch_array ($zag2);$zag3= mysql_query ("Select * from users WHERE `id` ='".$zags[nevesta]."' LIMIT 1 ");$zags3 = mysql_fetch_array ($zag3);$zag4= mysql_query ("Select * from users WHERE `id` ='".$zags[svid]."' LIMIT 1 ");$zags4 = mysql_fetch_array ($zag4);$zag5= mysql_query ("Select * from users WHERE `id` ='".$zags[svidet]."' LIMIT 1 ");$zags5 = mysql_fetch_array ($zag5);$zag1= mysql_query ("Select * from users WHERE `id` ='".$zags[ved]."' LIMIT 1 ");$zags1 = mysql_fetch_array ($zag1);if($user['id']==1 || $user[level]==9 || $zags[ved]==$user[id]){if ($msg=='!начать'||$msg=='!nachat'){$mes = "Мы собрались сдесь чтобы скрепить брачными узами два любящих сердца $zags2[user] и $zags3[user] . Прошу свидетелей засвидетельствовать что это святое действие не по принуждению ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "свидетельствуеш ли ты $zags4[user] что $zags2[user] по доброй воли женится сегодня на $zags3[user]" ;mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !да или !da ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[svid]','$zags[svid]')");if (mysql_query('UPDATE `zags` SET `nach` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}if($zags[nach2]==0){if($zags[nach]==1){if($user['id']==1 || $user[level]==9 || $zags[svid]==$user[id] ){if ($msg=='!да' || $msg=='!da'){$mes = "свидетельствуеш ли ты $zags5[user] что $zags3[user] по доброй воли выходит замуж сегодня за $zags2[user]" ;mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !да или !da ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[svidet]','$zags[svidet]')");if (mysql_query('UPDATE `zags` SET `nach2` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach3]==0){if($zags[nach2]==1){if($user['id']==1 || $user[level]==9 || $zags[svidet]==$user[id] ){if ($msg=='!да' || $msg=='!da'){$mes = "и так начнем церемонию" ;mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "[yellow]Обручается раб Божий $zags2[user] рабе Божией $zags3[user] во имя Отца и Сына и Святаго Духа, ныне и присно и во веки веков. Аминь.[/yellow]";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = " $zags2[user] [yellow]Имеешь ли произволение благое и непринужденное и крепкую мысль взять себе в жены [/yellow] $zags3[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = "набери команду !имею или !imeu ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[genix]','$zags[genix]')");if (mysql_query('UPDATE `zags` SET `nach3` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach4]==0){if($zags[nach3]==1){if($user['id']==1 || $user[level]==9 || $zags[genix]==$user[id] ){if ($msg=='!имею' || $msg=='!imeu'){$mes = "$zags3[user] [yellow] Имеешь ли произволение благое и непринужденное, и твердую мысль, взяти себе в мужа сего [/yellow] $zags2[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = "набери команду !имею или !imeu ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[nevesta]','$zags[nevesta]')");if (mysql_query('UPDATE `zags` SET `nach4` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach5]==0){if($zags[nach4]==1){if($user['id']==1 || $user[level]==9 || $zags[nevesta]==$user[id] ){if ($msg=='!имею' || $msg=='!imeu'){$mes = "$zags3[user] и $zags2[user] [yellow] в знак искренности своих намерений, дайте друг другу клятвы вечной любви и согласия! [/yellow]";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = "[yellow]Клянешся ли ты раб божий $zags2[user] в радости и в горе любить и оберегать рабу божью[/yellow] $zags3[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !клянусь или !klenus ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[genix]','$zags[genix]')");if (mysql_query('UPDATE `zags` SET `nach5` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach6]==0){if($zags[nach5]==1){if($user['id']==1 || $user[level]==9 || $zags[genix]==$user[id] ){if ($msg=='!клянусь' || $msg=='!klenus'){$mes = "[yellow]Клянешся ли ты раба божья $zags3[user] в радости и в горе любить и оберегать раба божьего[/yellow] $zags2[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !клянусь или !klenus ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[nevesta]','$zags[nevesta]')");if (mysql_query('UPDATE `zags` SET `nach6` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach6]==1){if($user['id']==1 || $user[level]==9 || $zags[nevesta]==$user[id] ){if ($msg=='!клянусь' || $msg=='!klenus'){$mes = "[yellow]И десница раб Твоих благословится! Жених и невеста, обменяйтесь кольцами в ознаменование благодатной помощи в сохранении супружеской любви, немеркнущей благодаря Божией милости! [/yellow] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");$mes = "$zags3[user] и $zags2[user] [green]объявляю вас мужем и женой! Присуствующие, можете поздравить новобрачных! [/green] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");mysql_query ("INSERT INTO zags2 (genix,nevesta,time) VALUES ('".$zags[genix]."','".$zags[nevesta]."','".$time."')");if (mysql_query('UPDATE `users` SET `para` ="'.$zags[nevesta].'" WHERE `id` ="'.$zags[genix].'" LIMIT 1 '));if (mysql_query('UPDATE `users` SET `para` ="'.$zags[genix].'" WHERE `id` ="'.$zags[nevesta].'" LIMIT 1 '));mysql_query("DELETE FROM `zags` WHERE `id`='".$zags[id]."' LIMIT 1");}}}}else{$mes = "нет открытых церемоний ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");}}else{$mes = "извините но в этой комнате я не работаю";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");}}header ('Location: room?rm='.$rm.'');exit;}echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();?>

Добавлено спустя   1 минуту  50 секунд:
в конфиг вродь ток подключение к базе идет,и паро мелких настроек)) ну вот его тоже выкладываю))

Код:

1
lt;?// НАСТРОЙКИ СОЕДИНЕНИЯ С БДdefine('DB_host','localhost'); // Хостdefine('DB_user','114464'); // Пользователь БДdefine('DB_pass','114464'); // Парольdefine('DB_db','114464'); // БД// ПРОЧИЕ НАСТРОЙКИ///////////// ЭТО НЕ ТРОГАЕМ!/////////|||/require_once'sys/start.php'; //include_once 'sys/sys.php'; ///////////////////////////////// Настройки групп$set['p_add_gr'] = 1; // Посты для создания группы$set['s_gr_logo'] = 50; // Вес лого$set['w_logo_gr'] = 200;// Высота лого (отображение)$set['h_logo_gr'] = 100;// Ширина лого (отображение)// Настройки обменника файлов$set['path'] = 'files';// папка с файлами$set['fo_size'] = 10; // макс размер в мб$set['fo_day_new'] = 2; // сколько файл считается новым$set['prev_size'] = '80*80'; // размер превьюшек$set['marker'] = 1;// включен - 1, нет - 0$set['text_marker'] = 'Gggg';// текст маркера$set['rur_1mb'] = 1; // + рублей за 1мб загружаемых файлов$set['top_num'] = 20; // Топ ... Юзеров и файлов$set['eval_change'] = 1; // не меняемrequire_once H."sys/bann.php";?>

Неактивен

#157 2011.08.11 01:37

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Корочь давай архив с чатом а то мы так будем месяц искать

Неактивен

#158 2011.08.11 01:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

А что если просто так

Код:

1
2
3
4
5
6
7
8
echo '<select name=\"prvt\">
<option value=\"0\">Всем</option>';
if($user['posts']>'50')
{
echo '<option value=\"1\">Приватно</option>';
}
 
echo '</select><br/>';

прписать,ну только ошибку в этом коде исправить((
Добавлено спустя   1 минуту  18 секунд:
В Этой теме он ))

Неактивен

#159 2011.08.13 21:35

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

подскажите как сделать при нажатии на ссылку занос число в базу? например ссылка "Слить" нажимаешь на нее и в базу в определенное поле записывается значение "1" ,как такое сделать?)

Неактивен

#160 2011.08.14 05:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Подскажите, делает ли что-то с кодировкой функция strtr() и strtolower(), т.к. у меня глюки с кодировкой начинались и на хосте.

Отредактировано tipsun (2011.08.14 14:21)

Неактивен

#161 2011.08.14 09:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да. эти функции некорректно работают с мультибайтовыми кодировками.
используй mbstring.

Неактивен

#162 2011.08.14 12:37

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Мой мозг никак не высрет функцию антимата.
Можно простым str_ireplace(); то, что есть в архиве, но будет проходить м-а.т

Неактивен

#163 2011.08.14 14:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#164 2011.08.16 04:06

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

подскажите как всунуть таблу из базы в переменную,идет табла foto_add,и там поле adres,что типа такого должно быть $zzz = foto_add['adres'];,только это не правильно(

Отредактировано POFIGISST (2011.08.16 04:09)

Неактивен

#165 2011.08.16 04:20

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres'];

Неактивен

#166 2011.08.16 04:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres'];

Спасибо большое Дим))

Неактивен

#167 2011.08.16 04:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как можно  3 переменных прикрепить? примерно вот так

Код:

1
echo '<img src="http://'.$sit.''.$foto_add['adres'].''.jpg"><br>';

тут 2 переменных,и незнаю как их скрепить в одной строке((

и еще вопрос,какая у меня вот тут

Код:

1
span style="color: #0000BB"><?phprequire'config.php';$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres'];//$sit = $_SERVER['HTTP_HOST'];echo '<img src="http://test4.ru'.$foto_add['adres'].'.jpg"><br>'; ?>

ошибка?((

Отредактировано POFIGISST (2011.08.16 04:57)

Неактивен

#168 2011.08.16 04:57

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$a1 = 1;$a2 = 2;$a3 = 3;echo '[' . $a1 . $a2 . $a3 .']';

[123]
Добавлено спустя   1 минуту  12 секунд:
но можно и таким образом как это делал ты $a1 . '' . $a2

Неактивен

#169 2011.08.16 05:12

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

ну вот у мя такой говнокод вышел

Код:

1
span style="color: #0000BB"><?phprequire'config.php';$q = mysql_query("SELECT ...");$a2 = mysql_fetch_array($q);$sit = $_SERVER['HTTP_HOST'];echo '<img src ="http://[' . $sit . $a2 .'].jpg"><br>';?>

Неактивен

#170 2011.08.16 05:14

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

SELECT ... замени на нормальный запрос
Добавлено спустя   1 минуту  10 секунд:
и $a2 это массив уверен у тебя пишет array

Неактивен

#171 2011.08.16 05:17

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

$q = mysql_query("SELECT * FROM  foto_add");

на такой заменить?))прост с базами у мя ваще беда((
Добавлено спустя   1 минуту  16 секунд:
ты прав насчет массива,пишет вот так "<img src ="http://[test4.ruArray].jpg"><br>" (((

Неактивен

#172 2011.08.16 05:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

бля я как тебе написал? $a2['adres']
вставь var_dump($a2);
Добавлено спустя   1 минуту  1 секунду:
лан я спать

Неактивен

#173 2011.08.16 05:25

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

массив уже убрал,теперь так

Код:

1
<img src ="http://[test4.ru/files/album/album_2_3].jpg"><br>

если убрать [ скобочки,то картинка норм будет появляться))

Неактивен

#174 2011.08.16 05:26

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

ну так в чем проблема?

Неактивен

#175 2011.08.16 05:26

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

бля я как тебе написал? $a2['adres']
вставь var_dump($a2);
Добавлено спустя   1 минуту  1 секунду:
лан я спать

приятных тебе))

вот такой код

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><br>';

все норм выводит))спасибо еще раз))
Добавлено спустя   1 минуту  20 секунд:

TLENS написал:

ну так в чем проблема?

ну так я же думал,что если уберу их,то ошибка синтаксиса будет((

Неактивен

#176 2011.08.16 05:29

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

новый вызов mysql_fetch_array покажет следующий столбец. ну вообщем спрашивай если что не понятно. да и не забывай читать инфу о функциях

Неактивен

#177 2011.08.16 05:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

новый вызов mysql_fetch_array покажет следующий столбец. ну вообщем спрашивай если что не понятно. да и не забывай читать инфу о функциях

а если мне нужен именно не следующий столбец,а 5 или 10 например?

Неактивен

#178 2011.08.16 10:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

не столбец, а строку.
у тега img атрибут alt обязательный.

Неактивен

#179 2011.08.16 10:32

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

не столбец, а строку.
у тега img атрибут alt обязательный.

а ну да

Неактивен

#180 2011.08.16 22:03

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а с альтом это вот так

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>';

?)

Неактивен

#181 2011.08.16 22:11

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Неактивен

#182 2011.08.16 22:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

а с альтом это вот так

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>';

?)

ГГ

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg alt="фото" /><br/>';

Неактивен

#183 2011.08.16 22:16

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Подскажите)))вот у мя идет такой код

Код:

1
lt;?require'../config.php';$align='left';$title='Подарки';aut();head();who_add(0,'enter');$mod = check($_GET['mod']);if(!isset($_GET['nk']) && isset($_SESSION['nk']))$nk = check($_SESSION['nk']);else {$nk = check($_GET['nk']);$_SESSION['nk']=$_GET['nk'];}switch($mod){default:echo 'Подароки <b>'.user_inf($nk,'user').'</b><br/><br />';if (empty($user['max'])) $user['max']=10;$max = $user['max'];$k_post=mysql_result(mysql_query("select count(*) as num from gifts where gift_id = '".$nk."'"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;$r = mysql_query ("Select * from gifts where gift_id = '".$nk."' order by time desc LIMIT $start, $max");if ($k_post == 0)echo 'Подарков пока нет...<br />';$post_k=$start+1;while($a = @mysql_fetch_array($r)){if ($a[publ]!=0){if ($user[id]==$nk||$user[id]==$a[user_id])echo '<a href="'.H.'gifts'.$nk.'_'.$a[id].'"><img src="'.H.'gifts/'.$a['gift'].'" title="Личный подарок!"/></a> ';else echo '<img src="'.H.'img/gl.gif"/> ';}else{echo '<a href="'.H.'gifts'.$nk.'_'.$a[id].'"><img src="'.H.'gifts/'.$a['gift'].'" title="Информация о подарке"/></a> ';}}if ($k_page>1){echo '<dl><dt></dt></dl>';str(''.H.'gifts'.$nk.'?',$k_page,$page);echo '<br /><dl><dt></dt></dl>';}echo '<br /><a href="gifts/index?mod=add&amp;nk='.$nk.'">Сделать подарок</a><br />';break;case 'read':$gift = check(intval($_GET['gift']));$a = @mysql_fetch_array(mysql_query ("Select * from gifts where gift_id = '".$nk."' and id = '".$gift."'"));echo '<img src="'.H.'gifts/'.$a['gift'].'"/><br />';if ($a[anonim]==0)$gu = nik($a[user_id]); else $gu = 'Аноним';if ($a[publ]==0)$publ = ''; else $publ = ' </b>(<u title="Подарок виден только вам!">Лично</u>)<b>';echo '<u>Подарил:</u> <b>'.$gu.$publ.'</b> ('.times($a['time']).')<br />';echo '<u>Комментарий:</u><br />'.$a['kom'].'<br />';if($user[id]==$nk || $user[level]>=5)echo '<br /><a href="'.H.'gifts'.$nk.'_'.$a[id].'?del">Удалить</a><br />';if (isset($_GET['del'])){if($user[id]==$nk || $user[level]>=5){mysql_query("DELETE FROM gifts where gift_id = '".$nk."' and id = '".$gift."'");}header ('Location: '.H.'gifts'.$nk.'?'.SID);}break;case 'add':if (!user($nk)){echo 'Такого пользователя не существует!'; exit; }echo 'Подарок для <b>'.user_inf($nk,'user').'</b><br/>';require_once(H."sys/func/count_dir.php");$downdir_array = array();$dir = opendir (".");while ($file = readdir ($dir)) {if (is_dir($file)) {if($file=="."||$file=="..") continue;$downdir_array[]=$file;}}closedir ($dir);sort($downdir_array);$total = count($downdir_array);for ($i = 0; $i < $total; $i++){echo '<img src="../img/dir.gif" alt=""/> <a href="?mod=addi&amp;path='.$downdir_array[$i].'&amp;'.SID.'">Подарки по '.$downdir_array[$i].' рублей</a> ('.count_dir($downdir_array[$i]).')<br/>';}break;case 'addi':$path = check(intval($_GET['path']));$d=opendir("$path");if(isset($_GET['list']))$list = check(intval($_GET['list']));else $list = check(intval($_POST['list']));if(!$list) $list = "1";$n = "1";while(($k=readdir($d))!==false){if ($k=='.'||$k=='..'||$k=="index.php"||$k==".htaccess"||$k==".Thumbs.db") continue;$n++;}closedir($d);$num=($n/$user['max']);if ($num!==(int)$num){$foo = (int) $num;$fo = ($foo + 1);}else{$fo=$num;}if ($list == "") {$c="0";}else{$c=($user['max']*($list-1));}$d=opendir("$path");$la = "-1";echo 'Подарок для <b>'.user_inf($nk,'user').'</b><br/>';echo 'Стоймость подарка: <b>'.$path.'</b> рублей<dl></dl>';while(($e=readdir($d))){if ($e=='.'||$e=='..'||$e=="index"||$e==".htaccess"||$e==".Thumbs.db") continue;$la = $la + 1;if($la>$c-1 and $la<$c+$user['max']){$laa = $la + 1; // Номер файлаecho "<a href=\"index?mod=gift&amp;path=$path&amp;gift=$e\"><img src=\"$path/$e\" alt=\"$e1\"/></a> ";}}for ($i=0; $i<=$fo; $i++)if ($list == "$path") {$c=0;}else{$c=($user['max']*($list-1));}$lis = $list + 1;$lis1 = $list - 1;echo '<br/>';if ($lis1 < 1){echo "&lt;&lt;пред.";}else{echo "<a href=\"index?list=$lis1&amp;mod=".$mod."&amp;path=$path\">&lt;&lt;пред. </a>";}if ($lis == $i){echo "| след.&gt;&gt;<br/>";}else{echo "| <a href=\"index?list=$lis&amp;mod=".$mod."&amp;path=$path\">след.&gt;&gt;</a><br/>";}if ($ver!='wml') echo "<form method=\"POST\" action=\"index?mod=".$mod."&amp;path=$path\" name=\"auth\">";echo "Перейти к:<br/>";echo "<input name=\"list\" format=\"*N\" size=\"3\"/><br/>";echo "странице<br/>";if ($ver=='wml'){echo "<anchor title=\"go\">Пошёл<go href=\"index?mod=".$mod."&amp;path=$path\" method=\"post\">";echo "<postfield name=\"list\" value=\"$(list)\"/>";echo "</go></anchor>";echo "<br/>";}else{echo "<input type=\"submit\" class=\"ibutton\" value=\"Пошёл\" name=\"enter\"><br/>";}$alls = $i - 1;echo "<br/>";echo "Подарков:<b> $n</b><br/>Страницa:<b> $list/$alls</b><br/>";closedir($d);break;case 'gift':$path = check(intval($_GET['path']));$gift = check($_GET['gift']);if ($user['rur']<$path)$err = 'У вас нет <b>'.$path.'</b> рублей!';if (empty($err)){$act = check($_GET['act']);if (empty($act)){echo '<b>Подарок:</b><br /><img src="'.$path.'/'.$gift.'"/><br />';if ($ver!='wml')echo '<form action="index?mod='.$mod.'&amp;act=add&amp;&amp;path='.$path.'&amp;gift='.$gift.'&amp;'.SID.'" method="post">';echo 'Комментарий:<br /><input name="kom" title="Комментарий"/><br/>';echo '<input type="checkbox" name="anonim" value="1"/> Анонимный<br/>';echo '<input type="checkbox" name="publ" value="1"/> Личный<br/>';if ($ver=='wml'){echo '<br /><anchor title="go">Сделать подарок<go href="index?mod='.$mod.'&amp;act=add&amp;&amp;path='.$path.'&amp;gift='.$gift.'&amp;'.SID.'" method="post"><br />';echo '<postfield name="kom" value="$kom"/><postfield name="anonim" value="$anonim"/><postfield name="publ" value="$publ"/></go></anchor><br /><br />';}else{echo '<br /><input type="submit" class="ibutton" value="Сделать подарок" class="cp"><br />';}}else{$kom = check($_POST['kom']);$anonim = check(intval($_POST['anonim']));$publ = check(intval($_POST['publ']));if ($user['translit']==1)$kom = translit($kom);mysql_query("INSERT INTO `gifts` (user_id,gift_id,time,kom,gift,anonim,publ) values('$user[id]','".user_inf($nk)."','$time','$kom','".$path."/".$gift."','$anonim','$publ')");$rurm = $user['rur']-$path;mysql_query('UPDATE `users` SET `rur` = "'.$rurm.'" WHERE `id` = "'.$user['id'].'"');echo 'Подарок отправлен пользователю <b>'.user_inf($nk,'user').'</b>!<br />';if ($anonim==1)$podaril = 'Аноним';else $podaril = $user['user'];if (user_inf($nk,'fr_notify')==1){if ($user['sex']==1)$sex = 'сделал'; else $sex = 'сделала';$ids = mysql_fetch_array(mysql_query("SELECT * FROM `gifts` WHERE `kom` = '".$kom."'"));$idi=$ids['id'];$msg = 'Пользователь [b]'.$podaril.'[/b] '.$sex.' Вам [url=/gifts'.$nk.'_'.$idi.']подарок[/url].';mysql_query ("INSERT INTO privat (user,user_id,to_user,to_id,time,msg) VALUES ('$user_system','0','".user($nk)."','".user_inf($nk)."','$time','$msg')");$subject = $_SERVER['HTTP_HOST'];$msgmail = ''.$podaril.' '.$sex.' Вам подарок.\r Просмотреть Ваши подарки можно на странице:\r http://'.$_SERVER['HTTP_HOST'].'/gifts'.$nk.' \r\r С уважением,Администрация '.$_SERVER['HTTP_HOST'].'\r\r\r_ _ _ _ _Вы можете поменять настройки e-mail оповещений на странице:http://'.$_SERVER['HTTP_HOST'].'/my/setting?mod=notify';$adds = "From: <admin@".$_SERVER['HTTP_HOST'].">";$adds .= "X-sender: <admin@".$_SERVER['HTTP_HOST'].">";$adds .= "Content-Type: text/plain; charset=utf-8";$mail=explode('|',user_inf($to,'mail'));mail($mail[0],$subject,$msgmail,$adds);}}}else echo $err;break;}echo '<br />';echo gb.'<a href="/gifts'.$nk.'">Подарки</a>'.div;echo gb.'<a href="'.H.$nk.'">В анкету</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?>

Это идет вывод подарков,значение сколько картинок выводить на страницу,берется из базы, табла users поле max ,смысл в том что в это поле заносятся настройки сколько сообщений выводить в комнатах,хочу изменить,чтоб значение бралось не из базы,а просто так сразу выводило по 5 подарков на страницу,полностью без базы,только как это сделать,не совсем понимаю((
Добавлено спустя   1 минуту  53 секунды:

tipsun написал:

http://htmlbook.ru

я как раз там и смотрел синтаксис его)))
Добавлено спустя   3 минуты :

TLENS написал:

POFIGISST написал:

а с альтом это вот так

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>';

?)

ГГ

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg alt="фото" /><br/>';

спасибо))вопрос не по теме ,а как ты сделал такой шрифт,которым у тя подпись,ну это "Мое творчество.
the-best-xxx.ru
podsmotri.org
И еще пару покамест не стоящих внимания."

Неактивен

#184 2011.08.16 22:41

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Не понял вопроса. [ size=8][/size ]

Отредактировано TLENS (2011.08.16 22:45)

Неактивен

#185 2011.08.16 22:44

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Не понял вопроса.

какого из всех?а то я много задал((сорри((

Неактивен

#186 2011.08.16 23:51

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Вроде так

Код:

1
span style="color: #0000BB"><?php//$max = $user['max'];$max = 5;/*а вообще ноги растут с /sys/user.php файла, может и в нем поменять, может не только тут этот параметр используется*/// Запрос в базе данных по юзеруif ($us && $pass) {$req = $db->sql_query("SELECT * FROM `users` WHERE `id` = '".check(intval($us))."' LIMIT 1");if ($db->sql_numrows($req)) {$user = $db->sql_fetchrow($req);//можно и так:$user['max'] = 5;if (md5($pass) === $user['pass']) { // =D}else {// Если пароль не совпадает, уничтожаем переменные сессии и чистим кукиunset ($_SESSION['id']);unset ($_SESSION['ps']);setcookie('id', '');setcookie('ps', '');$user = false;}?>

Отредактировано tipsun (2011.08.16 23:58)

Неактивен

#187 2011.08.17 00:17

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Офигеть yikes  работает ,спасибо,пассы и так в мд5 в базе храняться  big_smile

Неактивен

#188 2011.08.17 11:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

check(intval($us))
wtf?

Неактивен

#189 2011.08.20 00:19

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

что это за ошибка при заливке базы?


Вложения

Неактивен

#190 2011.08.20 08:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну, там же написано. записываешь данные в колонку, которой не существует.

Неактивен

#191 2011.08.23 01:34

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Голова уже лопается... необходимо при создании объекта класса, передавать неопределенное колличество аргументов!
Например:

Код:

1
span style="color: #0000BB"><?phpfunction getClass($name, $args=array()){ $a = new $name(/* Сюда надо как то вставить аргументы из массива $args */); return $a;}

потом

Код:

1
span style="color: #0000BB"><?php$a = getClass('class_one', array(1, 2, 3, 4));$b = getClass('class_two', array('a', 'b', 'c'));

Как это можно реализовать? __autoload даже не предлагать гг

Пробовал еще так:

Код:

1
span style="color: #0000BB"><?php$a = new $name();call_user_func_array(array($a, '__construct'), $args);

Но тогда фигня выходит... Обьекты дублируются:

array(0) { }
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) }
array(0) { }
array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }

это хорошо если аргументы не указаны в конструкторе! а если указаны...
Должно быть как минимум два, и я введу эти два аргумента, а мне будет выдавать ошибку, и скрипт будет спокойно работать дальше!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#192 2011.08.23 02:36

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Все! разобрался!
Мне интересно почему так получается, если в функции создать класс, то выдаст ошибку, если же в этой же функции подключить файл (через include / require) то все нормально?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#193 2011.08.23 19:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

не понял.. как ты создаешь класс? через eval чтоли? и как проблему с неопределенным числом аргументов решил?

Неактивен

#194 2011.08.23 20:18

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Nu3oN
Возможно проблема из за не глобальных переменных

Отредактировано TLENS (2011.08.23 20:20)

Неактивен

#195 2011.08.23 22:16

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

не понял.. как ты создаешь класс? через eval чтоли? и как проблему с неопределенным числом аргументов решил?

Код:

1
span style="color: #0000BB"><?phpfunction getClass($name, $args=array()){ require($name . '.class.php'); require('PassingArguments.class.php'); result new PassingArguments($args);}И сам файл PassingArguments:eval(' class PassingArguments extends '.$name.' { function __construct($args) { call_user_func_array(\'parent::__construct\', $args); } }');?>

Добавлено спустя   2 минуты  31 секунду:
Можно еще так:

Код:

1
span style="color: #0000BB"><?php$reflection = new ReflectionClass('NameClass');$object = $reflection -> newInctanceArgs(array(/* аргументы */));?>

Но не у всех есть такая библа smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#196 2011.08.23 22:41

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

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

Неактивен

#197 2011.08.23 22:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN, я тоже переодически сталкиваюсь с такой проблемой с аргументами, пока нормальных решений не знаю. что eval, что Reflection - говно..
Добавлено спустя   1 минуту  20 секунд:
TLENS, подробнее код. по-моему, это уже обсуждали, возможно, загружен канал

Неактивен

#198 2011.08.23 23:47

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

Nu3oN, я тоже переодически сталкиваюсь с такой проблемой с аргументами, пока нормальных решений не знаю. что eval, что Reflection - говно..

Лучших вариантов на ближайшее время не вижу (= точнее вообще никаких не наблюдаю гг


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#199 2011.08.25 01:02

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

В общем очередной раз переписываю свою cms, и вот решил изменить полностью структуру MVC...
В прошлый раз я писал все иначе, все делилось просто: "/папка/контроллер/переменные" без права на выбор!
Теперь решил все сделать как должно быть! и мне необходимо из URL получить путь к контроллеру, класс контроллера и выводимый метод, с учетом того-что папок может быть очень много! решил это реализовать так:

Код:

1
span style="color: #0000BB"><?php $_GET['do'] = '/dir/dir/dir/class/method/'; // Образец (папок может быть хоть сколько) $arrDefault = array('path' => 'home', 'class' => 'welcome', 'method' => 'index', 'vars' => 'null'); $arrPath = array_filter(explode('/', $_GET['do']), 'trim'); $intPath = count($arrPath); $i=0; $get = array('str'=>'', 'dir'=>'', 'class'=>''); foreach ($arrPath as $key) { $get['str'] = (empty($get['dir']) ? null : $get['dir']) . $key; if (is_dir(PS_EXTRA_CONTROLLERS . $get['str']. '/')) { $get['dir'] = $get['str'] . '/'; } else { if (is_file(PS_EXTRA_CONTROLLERS . $get['str'] . '.php')) { $get['class'] = $arrPath[$i]; } } ++$i; } $arrDefault['path'] = empty($get['dir']) ? $arrDefault['path'] : $get['dir']; $arrDefault['class'] = empty($get['class']) ? $arrDefault['class'] : $get['class'];?>

Насколько это гуманно?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#200 2011.08.25 11:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну да, 2 вариант - маппинг. т.е. разработчик сам прописывает в диспетчере все возможные запросы, и в бутстрапе просто ищутся соответствия с заранее определенными правилами.

Неактивен

#201 2011.08.28 06:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Это короче надо искать другие варианты соединения?

Код:

1
2
3
4
5
Внимание:
curl_setopt_array(): CURLOPT_FOLLOWLOCATION
не может быть активирована, когда safe_mode включен
или open_basedir установлен в
/usr/home/tipsun/htdocs/cinema/index.php

Отредактировано tipsun (2011.08.28 06:18)

Неактивен

#202 2011.08.28 22:29

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Хотя можно и другим способом эту переадресацию поймать: get_headers('url', 1);.
Да и вообще file_get_contents(); обойтись. Думал как получше замаскироваться, чтоб граб долго работал.
- - - -
Эта переадресация 1 раз встечается (в месяц: /2011-08/).

Отредактировано tipsun (2011.08.28 22:45)

Неактивен

#203 2011.09.01 11:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, скорее всего там не совсем корректно переадресация сделана. в соответствии с протоколом HTTP 1.1, путь всегда должен быть абсолютным. т.е. не /index.php, а http://wapinet.ru/index.php
curl работает только со 2 вариантом. в 90% случаев, проблема именно в этом.

Неактивен

#204 2011.09.01 13:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Спс.
Я там смотрел, полный адрес идет, ну во всяком случае в Chrome в загловках. (этот Chrome не поймешь, он сам разметку исправляет, лишние теги убирает, добавляет итп)

Отредактировано tipsun (2011.09.01 13:46)

Неактивен

#205 2011.09.01 13:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

смотри в фаербаге или драгонфлае

Неактивен

#206 2011.09.01 15:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ок, спс.
Я там по-другому сделал. Переадресация встречается 1 раз.
Эту переадресацию ловлю при помощи get_headers().
Далее цикл по находжению ссылок, в котором попутно идет запись нужной инфы в базу.
Подключаюсь при помощи cURL.
Что плохо, более подробная инфа лежит в ссылке (как бы подробнее), и надо получается каждый раз на ссылку заходить за более подробной инфой. Но зато 1 раз.
Можно после сканирования сделать, я думаю.
Это еще предстоит написать.

Ну короче вот сие бот-недоразумение...

Код:

1
span style="color: #0000BB"><?php////////////Автор: TiPsun// ICQ : 34142776//////////require_once 'db.php';function scanerBot($url=null) { GLOBAL $db; GLOBAL $n; $agent = 'Nokia6070/2.0 (04.00) Profile/MIDP-2.0 Configuration/CLDC-1.1'; $net = curl_init(); curl_setopt_array($net, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $agent, CURLOPT_AUTOREFERER => 1)); $out = curl_exec($net); curl_close($net); $html = mb_convert_encoding($out, 'utf-8', 'windows-1251'); preg_match_all('/movie\/(\d+)\/.{2}([^\<]+)/', $html, $matches); $date = baseName($url); $db->beginTransaction(); foreach ($matches[1] as $key => $value) { $query = $db->prepare("INSERT INTO `films` SET `id`=?, `date`=?, `name`=?;"); $query->execute(array($value, $date, $matches[2][$key])); } $db->commit(); $n += 1; if (preg_match('/(http:\/\/m\.kinopoisk\.ru\/premier\/\d{4}-\d{2}\/).{2}&rarr;/', $html, $match)) { scanerBot($match[1]); } else { exit('Отсканировано '.$n.' страниц!'); } }//////////$url = 'http://m.kinopoisk.ru/premier/';$url = get_headers($url, 1);$n = 0;scanerBot($url['Location']);//////////?>

Можно и свою дату ставить. Год-Месяц и подключиться...
Ну чем для каждого такую работу выполнять, лучше наверно все у себя сохранить.

Отредактировано tipsun (2011.09.01 16:07)

Неактивен

#207 2011.09.02 13:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

baseName - исправь на basename, php хоть и регистронезависим в названиях функций, но есть посылки для изменения такого поведения к более жесткому наименованию функций, т.е. регистрозависимому.
а так норм. для таких скриптов - главное чтобы они просто выполняли свою задачу.

Неактивен

#208 2011.09.02 18:31

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

=0 неужели, наконец норм, Ура! smile

Отредактировано tipsun (2011.09.02 18:31)

Неактивен

#209 2011.09.03 16:36

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Можно ли хранить конфиденциальные данные в сессиях?

Неактивен

#210 2011.09.03 16:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да

Неактивен

#211 2011.09.08 18:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

В чем дело при отдаче файла отдается нормально до 99.9% и когда уже в браузере остается 0 сек. идет задержка где то пол минуты. И потом только пишет загружено. Вот код отдачи файлов.

Код:

1
span style="color: #0000BB"><?phperror_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);set_time_limit(999);require './sistem/sistem.class.php';$_SET = new Start;$down = true;require './sistem/informator.class.php';$query = $_SERVER['QUERY_STRING'];$id = @explode('/', $_SERVER['REQUEST_URI']);if (substr($id[2], 0, 3) == 'id_') { preg_match('/id_(\d+)/', $id[2], $id); $id = (int)$id[1];} else { $id =(int) $id[2];}$q = mysql_query("SELECT * FROM `video` WHERE `id` = {$id}");if (mysql_num_rows($q)) { $row = mysql_fetch_array($q); $url = $row['url_file'];}if (substr($_SERVER['REQUEST_URI'], -3) == 'flv') { $url = preg_replace('/\.[^\.]+$/', '', $url) . '.flv';}$url = @parse_url($url);$fp = @fsockopen($url['host'], 80, $errno, $errstr, 10);if (!$fp) { exit('Warning. Server problem');}foreach($_SERVER as $k=> $v) { $http=substr($k, 0, 5); if($http == 'HTTP_') { $h=substr($k, 5); if($h == 'HOST') $headers .= 'Host: ' . $url['host'] . "\r\n"; elseif($h == 'REFERER') $headers .= 'Referer: http://' . $url['host'] . "\r\n"; else $headers .= $h.': '.$v."\r\n"; }}fputs ($fp, "GET " . $url['path'] . " HTTP/1.0\r\n" . $headers . "\r\n");$headers = array();while (!feof($fp)) { $b = trim(fgets($fp)); if(!$b) break; if(substr($b, 0, 5) == 'HTTP/') { $headers['HTTP'] = $b; }else { $buf=explode(': ', $b); $headers[$buf[0]] = $buf[1]; }}$name = 'the-best-xxx_ru-' . basename($url['path']); //header($headers['HTTP']); header('Connection: Close'); header('Content-Transfer-Encoding: binary'); header('Content-Disposition: attachment; filename="' . $name . '"'); header('Content-Type: ' . $headers['Content-Type']);if($headers['Content-Range']) header('Content-Range: ' . $headers['Content-Range']);if($headers['Content-Length']) header('Content-Length: ' . $headers['Content-Length']);if($headers['Accept-Ranges']) header('Accept-Ranges: ' . $headers['Accept-Ranges']);while (!feof($fp)) { echo fread($fp, 1024); //usleep(1000); flush();}

Неактивен

#212 2011.09.08 19:46

Игорь482
Гость

Re: Общие вопросы по PHP

Подскажите пожалуйста, сайт стоит на сервере но после обновления ПО Текст: функция toGDImage
выдает ошибку /ffmpeg.so:
undefined symbol:
img_convert...
Зарание спасибо

#213 2011.09.08 20:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.
Добавлено спустя    38 секунд:
Игорь482, код приведи плз.

Неактивен

#214 2011.09.08 21:14

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.

Антивирь даже отключил тоже самое, да и на процессах ничего заметного не происходит загрузчик жрет.
Но вот выполнил copy на денвере то он без задержки скопировал.
Я запутался. Если даже проблема в юзер-агенте то почему на других сайтах норм а с моего задержка пробовал оперу и хром.
Может проблема в скрипте?

Отредактировано TLENS (2011.09.08 21:14)

Неактивен

#215 2011.09.09 12:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Что то с загрузчиком. Пробовал с мобильного 300 кб качает и все. сейчас буду раздуплять

Неактивен

#216 2011.09.09 13:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну, я не вижу проблем в скрипте..(

Неактивен

#217 2011.09.09 13:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Изза чего может быть 300 кб?

Неактивен

#218 2011.09.09 13:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

возможно, дело в Content-Encoding. Удаленный сервер его передает, а ты нет.

Неактивен

#219 2011.09.09 13:47

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Поставил то же самое. Сейчас напишу код похож и буду ему давать заголовки прослежу как он отвечает

Неактивен

#220 2011.09.09 22:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Паша ответь мне плис что это такое, Какие есть предположения?

Код:

1
span style="color: #0000BB"><?php //--- Выдача файла --// public function readfile () { //fpassthru($this->fp); $starttime = microtime(1); $fp = fopen('info.txt', 'a'); while (!feof($this->fp)) { $len = strlen(fread($this->fp, 1024)); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); $starttime = $stt; } }

Дак вот в файле info.txt ряд ожидаемых строчек.
Но последние:

1024 - 5.00679016113E-6
1024 - 0.001140832901
1024 - 2.00271606445E-5
1024 - 1.09672546387E-5
348 - 60.0000932217
0 - 14.9743289948

Это слишком!
---------------------
С другими хостами например с твого норм только с одним сайтом такая трабла.
Предположение бан по маске.
Так как с других серверов норм.
Но почему файлы дает фиг его знает.

Отредактировано TLENS (2011.09.09 22:24)

Неактивен

#221 2011.09.09 22:36

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

я чето не догоняю.
$fp = fopen('info.txt', 'a'); // открыли только для записи
while (!feof($this->fp)) { // тут проверка на конец файла, но модификатор "a" как раз помещает указатель на конец файла, так что внутрь while мы не должны попасть

Неактивен

#222 2011.09.09 22:37

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ты не понял Есть $fp а есть $this->fp который открыт выше
в $this->fp открыт вайл со стороннего хоста.

Отредактировано TLENS (2011.09.09 22:38)

Неактивен

#223 2011.09.09 22:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

а епт)
дай весь код. запущу на своей фряхе.

Неактивен

#224 2011.09.09 22:40

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Я его запускал на других работает как надо. скорее ip

Код:

1
span style="color: #0000BB"><?phperror_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);//var_dump($GLOBALS["HTTP_SERVER_VARS"]);class Parser { public $host; public $path; public $name; public $url; public $header; public $fp; public $err; public $accept_headers; public function __construct($url, $name = '') { if (!$name) { $this->name = basename($url); } else { $this->name = $name; } $url = parse_url($url); $this->host = $url['host']; $this->path = $url['path']; $this->accept_headers = $this->get_accept_headers(); } //--------- Подготовка принятых заголовков для передачи ------// private function get_accept_headers () { foreach($_SERVER as $k => $v) { $http = substr($k, 0, 5); if($http == 'HTTP_') { $h = substr($k, 5); if($h == 'HOST') $headers .= 'Host: ' . $this->host . "\r\n"; elseif($h == 'REFERER') $headers .= 'Referer: http://' . $this->host . "\r\n"; else $headers .= $h . ': ' . $v . "\r\n"; } } return $headers; } //----- Соеденение и передача заголовков ------// public function connect () { $this->fp = @fsockopen($this->host, 80, $errno, $errstr, 10); if (!$this->fp) { $this->err = '<h1>' . $errno . '</h1>' . "\n" . '<p>' . $errstr . '</p>'; return false; } else { fputs ($this->fp, "GET " . $this->path . " HTTP/1.0\r\n" . $this->accept_headers . "\r\n"); return true; } } //----------- Получаю заголовки -------// public function get_headers () { $headers = array(); while (!feof($this->fp)) { $b = trim(fgets($this->fp)); if(!$b) break; if(substr($b ,0, 5) == 'HTTP/') { $headers['HTTP'] = $b; } else { $buf = explode(': ', $b); $headers[$buf[0]] = $buf[1]; } } return $headers; } //--- Выдача файла --// public function readfile () { //fpassthru($this->fp); $starttime = microtime(1); $fp = fopen('info.txt', 'a'); while (!feof($this->fp)) { $f = fread($this->fp, 1024); $len = strlen($f); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); if ($len < 1024) { fputs($fp, $f . "\n\n\n"); } $starttime = $stt; } }}set_time_limit(999);$file = new Parser ('http://ds.sasisa.ru/fc/upload_files/1199739600/wap_sasisa_ru_homevideo_tanya_xxx.3gp');if (!$file->connect()) exit($file->err);$headers = $file->get_headers();//var_dump($headers); exit;//header($headers['HTTP']);//header('Keep-Alive: timeout=10, max=60');//header('Connection: Keep-Alive, close');//header ("Cache-Control: None");//header('Content-Encoding: binary');//header('Content-Disposition: attachment; filename="' . $file->name . '"');//if($headers['Content-Range']) //header('Content-Range: ' . $headers['Content-Range']); //if($headers['Accept-Ranges']) //header('Accept-Ranges: ' . $headers['Accept-Ranges']); //header('Content-Length: ' . $headers['Content-Length']); //header('Content-Type: ' . $headers['Content-Type']);$file->readfile();

Добавлено спустя   4 минуты  54 секунды:
Ну что там?

Неактивен

#225 2011.09.09 22:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

последние строчки:

1024 - 1,5020370483398E-5
1024 - 1,5020370483398E-5
348 - 60,271856069565

а дальше пидарасня какая-то. такое ощущение, что сам файл пишется. щас код повнимательнее посмотрю.

Неактивен

#226 2011.09.09 22:59

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А та не парся то я решил глянуть что там 83 строка
Добавлено спустя   6 минут  41 секунду:
Я конечно люблю загадки но не до такой степени.
Выполнил

Код:

1
span style="color: #0000BB"><?php$starttime = microtime(1);copy('http://ds.sasisa.ru/fc/upload_files/1199739600/wap_sasisa_ru_homevideo_tanya_xxx.3gp', 'test.file');echo round(microtime(1) - $starttime, 4);

Результат 0.6344
Все таки проблема в коде.
Паша вся надежда на тебя. Сейчас попробую отправляемые заголовки перевести в нижний регистр. Но мало верится что поможет я уже не знаю что делать.

Неактивен

#227 2011.09.09 23:15

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Подожди дак у тебя тоже вис, это статы с твоего сервера?
1024 - 1,5020370483398E-5
1024 - 1,5020370483398E-5
348 - 60,271856069565

Неактивен

#228 2011.09.09 23:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да.
смотрю в чем дело.

Неактивен

#229 2011.09.09 23:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

smile)
вобщем так)
Добавлено спустя    20 секунд:

Код:

1
span style="color: #0000BB"><?php//error_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);//var_dump($GLOBALS["HTTP_SERVER_VARS"]); class Parser{ public $host; public $path; public $name; public $url; public $header; public $fp; public $err; public $accept_headers; public function __construct($url, $name = '') { if (!$name) { $this->name = basename($url); } else { $this->name = $name; } $url = parse_url($url); $this->host = $url['host']; $this->path = $url['path']; $this->accept_headers = $this->get_accept_headers(); } public function __destruct() { is_resource($this->fp) ? fclose($this->fp) : null; } /** * Подготовка принятых заголовков для передачи * * @return string */ private function get_accept_headers () { $headers = ''; foreach ($_SERVER as $k => $v) { $http = substr($k, 0, 5); if ($http == 'HTTP_') { $h = substr($k, 5); if ($h == 'HOST') { $headers .= 'Host: ' . $this->host . "\r\n"; } else if ($h == 'REFERER') { $headers .= 'Referer: http://' . $this->host . "\r\n"; } else if ($h == 'CONNECTION') { $headers .= "Connection: close\r\n"; } else if ($h == 'ACCEPT_ENCODING' || $h == 'TE') { // пропускаем } else { $headers .= str_replace('_', '-', ucwords(strtolower($h))) . ': ' . $v . "\r\n"; } } } return $headers; } /** * Соеденение и передача заголовков * * @return bool */ public function connect () { $this->fp = @fsockopen($this->host, 80, $errno, $errstr, 10); if (!$this->fp) { $this->err = '<h1>' . $errno . '</h1>' . "\n" . '<p>' . $errstr . '</p>'; return false; } else { fputs ($this->fp, "GET " . $this->path . " HTTP/1.0\r\n" . $this->accept_headers . "\r\n"); return true; } } /** * Получаю заголовки * * @return array */ public function get_headers () { $headers = array(); while (($b = fgets($this->fp)) !== false) { $b = trim($b); if ($b === '') break; if (substr($b, 0, 5) == 'HTTP/') { $headers['HTTP'] = $b; } else { $buf = explode(': ', $b); $headers[$buf[0]] = $buf[1]; } } return $headers; } /** * Запись файла */ public function readfile () { $starttime = microtime(1); $fp = fopen('info.txt', 'a'); fputs($fp, $this->accept_headers . "\n\n\n\n"); while (($f = fgets($this->fp)) !== false) { $len = strlen($f); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); $starttime = $stt; } }}set_time_limit(999);$file = new Parser ('http://ds.sasisa.ru/fc/upload_files/1199739600/wap_sasisa_ru_homevideo_tanya_xxx.3gp');if (!$file->connect()) exit($file->err);$headers = $file->get_headers();//var_dump($headers); exit; //header($headers['HTTP']);//header('Keep-Alive: timeout=10, max=60');//header('Connection: Keep-Alive, close');//header ("Cache-Control: None");//header('Content-Encoding: binary');//header('Content-Disposition: attachment; filename="' . $file->name . '"'); //if($headers['Content-Range']) //header('Content-Range: ' . $headers['Content-Range']); //if($headers['Accept-Ranges']) //header('Accept-Ranges: ' . $headers['Accept-Ranges']); //header('Content-Length: ' . $headers['Content-Length']); //header('Content-Type: ' . $headers['Content-Type']); $file->readfile();

Неактивен

#230 2011.09.09 23:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Слушаю

Неактивен

#231 2011.09.09 23:47

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Конкретно проблема в 60 задержке - в заголовке Connection: Keep-Alive
Там еще была ошибка в работе с feof

Неактивен

#232 2011.09.09 23:50

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Я твой должник. Я до сих пор толком не понял для чего Keep-Alive сейчас почитаю, А что на счет EOF?

Неактивен

#233 2011.09.09 23:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну там получалось что 1 раз считывал лишнюю строчку.
ну там еще и сзаголовками была проблема, они же в php типа как ACCEPT_CHARSET, а передавать нужно Accept-Charsert. Как минимум _ заменить на - надо.

Неактивен

#234 2011.09.10 00:02

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А блин куда я смотрел. Но тоже кстати собирался рыть в get_accept_headers ().
Моя бабушка всегда мне говорила если долго мучится что нибудь получится.
Меня очень запутало то что с Твоего сайта не было проблем.
Спасибо огромное еще раз!

Неактивен

#235 2011.09.10 01:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

вапинет отдает такое: Keep-Alive: timeout=5, max=100
т.е. задержка 5 сек, а не 60 сек, как на сасисе.

Неактивен

#236 2011.09.26 20:26

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Помогите плиз написать функцию,которая будет блокировать смайлы в чате в одном посте,вернее чтоб лимит был,например чтоб в одном посте показывало только 2 смайла,а остальные чтоб не выводило,а то есть умники которые в одном посте ставят по 20 смайлов,и страниц х.з. сколько грузиться,к посту прикрепляю файл отвечающий за это(( сам пробовал,но нифига не вышло,только ошибок кучу сделал((


Вложения

Неактивен

#237 2011.09.26 20:34

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Это ты писал скрипт?

Неактивен

#238 2011.09.26 20:37

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Это ты писал скрипт?

нет,файл был написан Шахтером,а мод личных смайлов на заказ писали((
Добавлено спустя   8 минут  41 секунду:
примерно таким

Код:

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
define('MAX_SMILES',2); // Максимальное количество смайлов
 
$cache_sml;
$cache_pat;
$n = 0;
 
function sml_replace_callback($match)
{
global $cache_sml,$n;
if($n == MAX_SMILES)
return '';
$n++;
return $cache_sml[$match[1]];
}
function smiles($msg)
{
global $cache_pat,$cache_sml,$user,$n;
 
if(empty($cache_sml) or empty($cache_pat))
{
$file = file_get_contents(H.'smiles/smiles.txt');
preg_match_all('%(.+) (.+)%',$file,$arr);
$cache_pat = array_map('sml_mk_pat',$arr[2]);
$arr[1] = array_map('sml_mk_img',$arr[1]);
$cache_sml = array_combine($arr[2],$arr[1]);
}

кодом можно сделать наверное,но не соображу как это замутить((

Неактивен

#239 2011.09.26 20:53

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Сейчас напишу дополнение.
Ток скажи честно сколько заплатил за него.

Неактивен

#240 2011.09.26 20:56

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Сейчас напишу дополнение.
Ток скажи честно сколько заплатил за него.

честно я не платил за него,писал тот чел что и тотал написал,ну код тотала ты видел,мы с ним договорились,что я привожу к нему на сайт 10 человек,а он мне за это пишет этот мод,без денег у нас был договорsmile

Неактивен

#241 2011.09.26 21:43

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Код:

1
lt;?$count_smiles = 3;/** * Замена по ограничению * @return (string) * By TLENS 26.09.2011 */function my_replace($var1, $var2, $str, $count = 0){ if ($count <= 0) { return str_replace($var1, $var2, $str); } $arr = explode($var1, $str); $c = sizeof($arr); if ($c <= $count) { return str_replace($var1, $var2, $str); } $result = (string)''; for ($i = 0; $i<$c; $i++) { if ($i < $count) { $result .= $arr[$i] . $var2; } else { $result .= $arr[$i] . ((($i + 1) < $c) ? $var1 : ''); } } return $result;}//-------------------------------------//function smiles($msg){ global $db, $set,$user, $count_smiles; $f_smiles=file(H."smiles/smiles.txt"); for ($i=0;$i<count($f_smiles);$i++) { $str_sm=explode(' ',trim($f_smiles[$i])); $str_sm2=''; for ($z=1;$z<count($str_sm);$z++) { if ($z>1){$str_sm2.=' ';} $str_sm2.=$str_sm[$z]; } $str_sm2=explode(',',$str_sm2); for ($i2=0;$i2<count($str_sm2);$i2++) { $str_sm2[$i2]=stripcslashes(htmlspecialchars($str_sm2[$i2])); $msg=str_replace("$str_sm2[$i2]", "<img src=\"/smiles/$str_sm[0].gif\" alt=\"\" />", $msg); } } $q=mysql_query("SELECT * FROM `user_smiles_spis`"); //Личные смайлы while($post = mysql_fetch_array($q)){ $msg = str_replace($post['sim'], '<a><img src="/smiles/usersmiles/'.$post['name'].'.gif" alt="'.$post['name'].'"/></a>', $msg); } if ($user['level']>3){ $f_smiles=file(H."smiles/smiles_mod.txt"); for ($i=0;$i<count($f_smiles);$i++) { $str_sm=explode(' ',trim($f_smiles[$i])); $str_sm2=''; for ($z=1;$z<count($str_sm);$z++) { if ($z>1){$str_sm2.=' ';} $str_sm2.=$str_sm[$z]; } $str_sm2=explode(',',$str_sm2); for ($i2=0;$i2<count($str_sm2);$i2++) { $str_sm2[$i2]=stripcslashes(htmlspecialchars($str_sm2[$i2])); $msg=my_replace("$str_sm2[$i2]", "<img src=\"/smiles/$str_sm[0].gif\" alt=\"\" />", $msg, $count_smiles); } }} return $msg;}function links_preg1($arr){return '<a href="'.$arr[1].'">'.$arr[2].'</a>';}function links_preg2($arr){return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];}function links($msg){$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);return $msg;}$versiya = '4.0';function bbcodehightlight($arr){$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";}function BBcode($msg){$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[q\](.*?)\[/q\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $msg);$msg=preg_replace('#\[small\](.*?)\[/small\]#si', '<span style="font-size: small;">\1</span>', $msg);$msg=preg_replace('#\[big\](.*?)\[/big\]#si', '<span style="font-size: large;">\1</span>', $msg);$msg=preg_replace('#\[blink\](.*?)\[/blink\]#si', '<blink>\1</blink>', $msg);$msg=preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000;">\1</span>', $msg);$msg=preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00;">\1</span>', $msg);$msg=preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF;">\1</span>', $msg);$msg=preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<span style="color:#ffff22;">\1</span>', $msg);$msg=preg_replace('#\[fea\](.*?)\[/fea\]#si', '<span style="color:#FF00FF;">\1</span>', $msg);return $msg;}define('vb12', true);function br($msg,$br='<br />'){$msg=eregi_replace("((<br( ?/?)>)|\n|\r)+",$br, $msg);return $msg;}function page2($page2){$page2=str_replace('</body>','<div align="center"><small><a href="http://masteram.us">© -=ШАХТЕР=-</a></small></div></body>',$page2);$page2=str_replace('</card>','<div align="center"><small><a href="http://masteram.us">© -=ШАХТЕР=-</a></small></div></card>',$page2);return $page2;}if ((eregi('^/enter\.php',$_SERVER['SCRIPT_NAME']))||(eregi('^/index\.php',$_SERVER['SCRIPT_NAME']))){ob_start(page2);define('set2.0', true);}else if ((eregi('^'.dirname($_SERVER['PHP_SELF']).'/enter\.php',$_SERVER['SCRIPT_NAME']))||(eregi('^'.dirname($_SERVER['PHP_SELF']).'/index\.php',$_SERVER['SCRIPT_NAME']))){ob_start(page2);}function esc($text,$br=NULL){if ($br!=NULL)for ($i=0;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);else{for ($i=0;$i<10;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=11;$i<20;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=21;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);}return $text;}function text($str,$br=true,$html=true,$smiles=true,$links=true,$bbcode=true){if ($html==true)if ($smiles==true)$str=smiles($str);if ($links==true)$str=links($str);if ($bbcode==true)$str=bbcode($str);if ($br==true){$str=br($str);$str=esc($str);}else{$str=esc($str);}return $str;}function color_msg($text){global $db, $set,$user, $msg;if ($msg['color']==1)$text = '[red]'.$msg['msg'].'[/red]';elseif ($msg['color']==2)$text = '[blue]'.$msg['msg'].'[/blue]';elseif ($msg['color']==3)$text = '[fea]'.$msg['msg'].'[/fea]';elseif ($msg['color']==4)$text = '[green]'.$msg['msg'].'[/green]';return $text;}function bb_msg($text){global $db, $set,$user, $msg;if ($msg['bb']==1)$text = '[i]'.$text.'[/i]';elseif ($msg['bb']==2)$text = '[u]'.$text.'[/u]';elseif ($msg['bb']==3)$text = '[i][u]'.$text.'[/u][/i]';elseif ($msg['bb']==4)$text = '[b]'.$text.'[/b]';elseif ($msg['bb']==5)$text = '[i][b]'.$text.'[/b][/i]';elseif ($msg['bb']==6)$text = '[big]'.$text.'[/big]';return $text;}function emo_msg($text){global $db, $set,$user, $msg;if ($msg['emo']==1) $text = '[Радостно] '.$text;elseif ($msg['emo']==2) $text = '[Печально] '.$text;elseif ($msg['emo']==3) $text = '[Удивленно] '.$text;elseif ($msg['emo']==4) $text = '[Ласково] '.$text;elseif ($msg['emo']==5) $text = '[Смущенно] '.$text;elseif ($msg['emo']==6) $text = '[Кокетливо] '.$text;elseif ($msg['emo']==7) $text = '[Обиженно] '.$text;elseif ($msg['emo']==8) $text = '[Настойчиво] '.$text;elseif ($msg['emo']==9) $text = '[Шепотом] '.$text;elseif ($msg['emo']==10) $text = '[Задумчиво] '.$text;elseif ($msg['emo']==11) $text = '[Злобно] '.$text;return $text;}function antir($msg){global $db, $set,$user;$msg = str_replace("((http://))((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*)", "".$set['antir']."", $msg);$msg=str_replace(".wab.","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(".net","".$set['antir']."",$msg);$msg=str_replace(".org","".$set['antir']."",$msg);$msg=str_replace(".kz","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(".ru","".$set['antir']."",$msg);$msg=str_replace(",ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("_ru","".$set['antir']."",$msg);$msg=str_replace("-net","".$set['antir']."",$msg);$msg=str_replace(",net","".$set['antir']."",$msg);$msg=str_replace("-su","".$set['antir']."",$msg);$msg=str_replace("_su","".$set['antir']."",$msg);$msg=str_replace(".su","".$set['antir']."",$msg);$msg=str_replace(",su","".$set['antir']."",$msg);$msg=str_replace("-mobi","".$set['antir']."",$msg);$msg=str_replace("_mobi","".$set['antir']."",$msg);$msg=str_replace(".mobi","".$set['antir']."",$msg);$msg=str_replace(",mobi","".$set['antir']."",$msg);$msg=str_replace("-info","".$set['antir']."",$msg);$msg=str_replace("_info","".$set['antir']."",$msg);$msg=str_replace(".info","".$set['antir']."",$msg);$msg=str_replace(",info","".$set['antir']."",$msg);$msg=str_replace("-com","".$set['antir']."",$msg);$msg=str_replace("_com","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(",com","".$set['antir']."",$msg);$msg=str_replace("-msk","".$set['antir']."",$msg);$msg=str_replace("_msk","".$set['antir']."",$msg);$msg=str_replace(".msk","".$set['antir']."",$msg);$msg=str_replace(",msk","".$set['antir']."",$msg);$msg=str_replace("-tk","".$set['antir']."",$msg);$msg=str_replace("_tk","".$set['antir']."",$msg);$msg=str_replace(".tk","".$set['antir']."",$msg);$msg=str_replace(",tk","".$set['antir']."",$msg);$msg=str_replace(".in","".$set['antir']."",$msg);$msg=str_replace("-cn","".$set['antir']."",$msg);$msg=str_replace("_cn","".$set['antir']."",$msg);$msg=str_replace(".cn","".$set['antir']."",$msg);$msg=str_replace(",cn","".$set['antir']."",$msg);$msg=str_replace("-biz","".$set['antir']."",$msg);$msg=str_replace("_biz","".$set['antir']."",$msg);$msg=str_replace(".biz","".$set['antir']."",$msg);$msg=str_replace(",biz","".$set['antir']."",$msg);$msg=str_replace("-h2m","".$set['antir']."",$msg);$msg=str_replace("_h2m","".$set['antir']."",$msg);$msg=str_replace(".h2m","".$set['antir']."",$msg);$msg=str_replace(",h2m","".$set['antir']."",$msg);$msg=str_replace("-wen","".$set['antir']."",$msg);$msg=str_replace("_wen","".$set['antir']."",$msg);$msg=str_replace(".wen","".$set['antir']."",$msg);$msg=str_replace(",wen","".$set['antir']."",$msg);$msg=str_replace("-ua","".$set['antir']."",$msg);$msg=str_replace("_ua","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(",ua","".$set['antir']."",$msg);return $msg;}function antim($text){$text=strtr($text,array('сука'=>'***','блядь'=>'***','блядь'=>'***','хуй'=>'***','пизда'=>'***','сучка'=>'***','пидор'=>'***','пидар'=>'***','пидор'=>'***','пидрила'=>'***','чмо'=>'***','ебать'=>'***','бля'=>'***'));return $text;}function url_replace($m) {if( !isset($m[3]) ) {return '<a href="' . $m[1] . '">' . $m[2] . '</a>';} else {return '<a href="' . $m[3] . '">' . $m[3] . '</a>';}}function img_replace($m) {if( !isset($m[3]) ) {return '<img src="' . $m[1] . '" alt="' . $m[2] . '">';} else {return '<img src="' . $m[3] . '" alt="' . $m[3] . '">';}}//------------------ Функция вставки BB-кода --------------------//function bb2($text){$text = preg_replace_callback('~\\[link=(http://.+?)\\](.+?)\\[/link\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $text);$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'img_replace', $text);return $text;}?>

Код ужасный. Даж я такого в детстве не писал. Думал подправить потом плюнул
Добавлено спустя    57 секунд:
вверху настройка количества

Отредактировано TLENS (2011.09.26 21:46)

Неактивен

#242 2011.09.26 21:46

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
с этим кодом весь чат не работает,просто белая страница(((

Неактивен

#243 2011.09.26 21:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Включи показ ошибок

Неактивен

#244 2011.09.26 21:52

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

не показывает((или я не правильно включаю,хотя вот error_reporting(-1); должно выводить ошибки((
Добавлено спустя   2 минуты  17 секунд:
error_reporting (E_ALL); и так включить пытался((нифига(((

Неактивен

#245 2011.09.26 21:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Попробуй поставить в самом начале ведь этот инклюдится куда то
error_reporting(E_ALL);
ini_set("display_errors", 1);
Добавлено спустя   1 минуту  2 секунды:
В общем код дал рабочий. Ничего в нем не менял кроме одной функции она работает разбирайся сам. Включай мозги

Отредактировано TLENS (2011.09.26 21:58)

Неактивен

#246 2011.09.26 22:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

замени <? на
<?php

Неактивен

#247 2011.09.26 22:07

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
спасибо Дим,это с самим файлом хуйня какая-то,хотя раньше норм вродь работал((
Добавлено спустя   2 минуты  12 секунд:

Gemorroj написал:

замени <? на
<?php

спасиб Паш,забываю это исправлять когда редачу файлы((

Неактивен

#248 2011.09.26 22:25

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а если вот так

Код:

1
span style="color: #0000BB"><?phpdefine('MAX_SMILES',2); // Максимальное количество смайлов$cache_sml;$cache_pat;$n = 0;function sml_replace_callback($match){global $cache_sml,$n; if($n == MAX_SMILES)return '';$n++;return $cache_sml[$match[1]];}function smiles($msg){global $cache_pat,$cache_sml,$user,$n;if(empty($cache_sml) or empty($cache_pat)){$file = file_get_contents(H.'smiles/smiles.txt');preg_match_all('%(.+) (.+)%',$file,$arr);$cache_pat = array_map('sml_mk_pat',$arr[2]);$arr[1] = array_map('sml_mk_img',$arr[1]);$cache_sml = array_combine($arr[2],$arr[1]);}$q=mysql_query("SELECT * FROM `user_smiles_spis`"); //Личные смайлы while($post = mysql_fetch_array($q)){$msg = str_replace($post['sim'],'<a><img src= "/smiles/usersmiles/'.$pot['name'].'.gif" alt="'.$post['name'].'"/></a>',$msg);}$msg = preg_replace_callback($cache_pat,'sml_replace_callback',$msg);$n = 0;return $msg;}function sml_mk_pat($sml){return '%('.preg_quote($sml).')%';}function sml_mk_img($sml){return '<img src="/smiles/'.$sml.'.gif"/>';}function links_preg1($arr){return '<a href="'.$arr[1].'">'.$arr[2].'</a>';}function links_preg2($arr){return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];}function links($msg){$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);return $msg;}$versiya = '4.0 Лицензионная';function bbcodehightlight($arr){$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";}function BBcode($msg){$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[q\](.*?)\[/q\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $msg);$msg=preg_replace('#\[small\](.*?)\[/small\]#si', '<span style="font-size: small;">\1</span>', $msg);$msg=preg_replace('#\[big\](.*?)\[/big\]#si', '<span style="font-size: large;">\1</span>', $msg);$msg=preg_replace('#\[blink\](.*?)\[/blink\]#si', '<blink>\1</blink>', $msg);$msg=preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000;">\1</span>', $msg);$msg=preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00;">\1</span>', $msg);$msg=preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF;">\1</span>', $msg);$msg=preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<span style="color:#ffff22;">\1</span>', $msg);$msg=preg_replace('#\[fea\](.*?)\[/fea\]#si', '<span style="color:#FF00FF;">\1</span>', $msg);return $msg;}define('vb3', true);function br($msg,$br='<br />'){$msg=eregi_replace("((<br( ?/?)>)|\n|\r)+",$br, $msg);return $msg;}function esc($text,$br=NULL){if ($br!=NULL)for ($i=0;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);else{for ($i=0;$i<10;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=11;$i<20;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=21;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);}return $text;}function text($str,$br=true,$html=true,$smiles=true,$links=true,$bbcode=true){if ($html==true)if ($smiles==true)$str=smiles($str);if ($links==true)$str=links($str);if ($bbcode==true)$str=bbcode($str);if ($br==true){$str=br($str);$str=esc($str);}else{$str=esc($str);}return $str;}function color_msg($text){global $db, $set,$user, $msg;if ($msg['color']==1)$text = '[red]'.$msg['msg'].'[/red]';elseif ($msg['color']==2)$text = '[blue]'.$msg['msg'].'[/blue]';elseif ($msg['color']==3)$text = '[fea]'.$msg['msg'].'[/fea]';elseif ($msg['color']==4)$text = '[green]'.$msg['msg'].'[/green]';return $text;}function bb_msg($text){global $db, $set,$user, $msg;if ($msg['bb']==1)$text = '[i]'.$text.'[/i]';elseif ($msg['bb']==2)$text = '[u]'.$text.'[/u]';elseif ($msg['bb']==3)$text = '[i][u]'.$text.'[/u][/i]';elseif ($msg['bb']==4)$text = '[b]'.$text.'[/b]';elseif ($msg['bb']==5)$text = '[i][b]'.$text.'[/b][/i]';elseif ($msg['bb']==6)$text = '[big]'.$text.'[/big]';return $text;}function emo_msg($text){global $db, $set,$user, $msg;if ($msg['emo']==1) $text = '[Радостно] '.$text;elseif ($msg['emo']==2) $text = '[Печально] '.$text;elseif ($msg['emo']==3) $text = '[Удивленно] '.$text;elseif ($msg['emo']==4) $text = '[Ласково] '.$text;elseif ($msg['emo']==5) $text = '[Смущенно] '.$text;elseif ($msg['emo']==6) $text = '[Кокетливо] '.$text;elseif ($msg['emo']==7) $text = '[Обиженно] '.$text;elseif ($msg['emo']==8) $text = '[Настойчиво] '.$text;elseif ($msg['emo']==9) $text = '[Шепотом] '.$text;elseif ($msg['emo']==10) $text = '[Задумчиво] '.$text;elseif ($msg['emo']==11) $text = '[Злобно] '.$text;return $text;}function antir($msg){global $db, $set,$user;$msg = str_replace("((http://))((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*)", "".$set['antir']."", $msg);$msg=str_replace(".wab.","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(".net","".$set['antir']."",$msg);$msg=str_replace(".org","".$set['antir']."",$msg);$msg=str_replace(".kz","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(".ru","".$set['antir']."",$msg);$msg=str_replace(",ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("_ru","".$set['antir']."",$msg);$msg=str_replace("-net","".$set['antir']."",$msg);$msg=str_replace(",net","".$set['antir']."",$msg);$msg=str_replace("-su","".$set['antir']."",$msg);$msg=str_replace("_su","".$set['antir']."",$msg);$msg=str_replace(".su","".$set['antir']."",$msg);$msg=str_replace(",su","".$set['antir']."",$msg);$msg=str_replace("-mobi","".$set['antir']."",$msg);$msg=str_replace("_mobi","".$set['antir']."",$msg);$msg=str_replace(".mobi","".$set['antir']."",$msg);$msg=str_replace(",mobi","".$set['antir']."",$msg);$msg=str_replace("-info","".$set['antir']."",$msg);$msg=str_replace("_info","".$set['antir']."",$msg);$msg=str_replace(".info","".$set['antir']."",$msg);$msg=str_replace(",info","".$set['antir']."",$msg);$msg=str_replace("-com","".$set['antir']."",$msg);$msg=str_replace("_com","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(",com","".$set['antir']."",$msg);$msg=str_replace("-msk","".$set['antir']."",$msg);$msg=str_replace("_msk","".$set['antir']."",$msg);$msg=str_replace(".msk","".$set['antir']."",$msg);$msg=str_replace(",msk","".$set['antir']."",$msg);$msg=str_replace("-tk","".$set['antir']."",$msg);$msg=str_replace("_tk","".$set['antir']."",$msg);$msg=str_replace(".tk","".$set['antir']."",$msg);$msg=str_replace(",tk","".$set['antir']."",$msg);$msg=str_replace(".in","".$set['antir']."",$msg);$msg=str_replace("-cn","".$set['antir']."",$msg);$msg=str_replace("_cn","".$set['antir']."",$msg);$msg=str_replace(".cn","".$set['antir']."",$msg);$msg=str_replace(",cn","".$set['antir']."",$msg);$msg=str_replace("-biz","".$set['antir']."",$msg);$msg=str_replace("_biz","".$set['antir']."",$msg);$msg=str_replace(".biz","".$set['antir']."",$msg);$msg=str_replace(",biz","".$set['antir']."",$msg);$msg=str_replace("-h2m","".$set['antir']."",$msg);$msg=str_replace("_h2m","".$set['antir']."",$msg);$msg=str_replace(".h2m","".$set['antir']."",$msg);$msg=str_replace(",h2m","".$set['antir']."",$msg);$msg=str_replace("-wen","".$set['antir']."",$msg);$msg=str_replace("_wen","".$set['antir']."",$msg);$msg=str_replace(".wen","".$set['antir']."",$msg);$msg=str_replace(",wen","".$set['antir']."",$msg);$msg=str_replace("-ua","".$set['antir']."",$msg);$msg=str_replace("_ua","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(",ua","".$set['antir']."",$msg);return $msg;}function antim($text){$text=strtr($text,array('сука'=>'***','блядь'=>'***','блядь'=>'***','хуй'=>'***','пизда'=>'***','сучка'=>'***','пидор'=>'***','пидар'=>'***','пидор'=>'***','пидрила'=>'***','чмо'=>'***','ебать'=>'***','бля'=>'***'));return $text;}function url_replace($m) {if( !isset($m[3]) ) {return '<a href="' . $m[1] . '">' . $m[2] . '</a>';} else {return '<a href="' . $m[3] . '">' . $m[3] . '</a>';}}function img_replace($m) {if( !isset($m[3]) ) {return '<img src="' . $m[1] . '" alt="' . $m[2] . '">';} else {return '<img src="' . $m[3] . '" alt="' . $m[3] . '">';}}//------------------ Функция вставки BB-кода --------------------//function bb2($text){$text = preg_replace_callback('~\\[link=(http://.+?)\\](.+?)\\[/link\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $text);$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'img_replace', $text);return $text;}?>

сделать? но так почему то не выводит лычный смайл,вернее показывает что должна быть картинка,но её нету,оно имя из базы не тянет,по исходному коду показывает вот так

<a><img src= "/smiles/usersmiles/.gif" alt="222"/>


имя не берет почему то((

Неактивен

#249 2011.09.26 22:40

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
6
7
8
function links_preg1($arr)
{
return '<a href="'.$arr[1].'">'.$arr[2].'</a>';
}
function links_preg2($arr)
{
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
}

Это часть кода...

Жгёш пополной big_smile

Отредактировано WapStyle (2011.09.26 22:40)

Неактивен

#250 2011.09.26 22:42

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

WapStyle написал:

Код:

1
2
3
4
5
6
7
8
function links_preg1($arr)
{
return '<a href="'.$arr[1].'">'.$arr[2].'</a>';
}
function links_preg2($arr)
{
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
}

Это часть кода...

Жгёш пополной big_smile

чесн сказать,я сам даже такого не напишу((

Неактивен

#251 2011.09.26 22:44

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

WapStyle Заценил? гг

Неактивен

#252 2011.09.26 22:51

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Это был мой позор(((исправил все,теперь работает((правда говнокод остался((
Добавлено спустя   4 минуты  54 секунды:
смайлы личные работают,и обычные тоже,обычных смайлов выводит только по 2 смайла в одном посте,а вот личных,скок напишешь,сток и выведет,хоть 100 штук в одном посте,теперь не знаю как ограничитель личных смайлов сделать((чтоб их тоже выводило только по два в одном посте(( в какой строке или в какой части это можно сделать подскажите((

Код:

1
span style="color: #0000BB"><?phpdefine('MAX_SMILES',2); // Максимальное количество смайлов$cache_sml;$cache_pat;$n = 0;function sml_replace_callback($match){global $cache_sml,$n; if($n == MAX_SMILES)return '';$n++;return $cache_sml[$match[1]];}function smiles($msg){global $cache_pat,$cache_sml,$user,$n;if(empty($cache_sml) or empty($cache_pat)){$file = file_get_contents(H.'smiles/smiles.txt');preg_match_all('%(.+) (.+)%',$file,$arr);$cache_pat = array_map('sml_mk_pat',$arr[2]);$arr[1] = array_map('sml_mk_img',$arr[1]);$cache_sml = array_combine($arr[2],$arr[1]);}$q=mysql_query("SELECT * FROM `user_smiles_spis`"); //Личные смайлы while($post = mysql_fetch_array($q)){$msg = str_replace($post['sim'],'<a><img src= "/smiles/usersmiles/'.$post['name'].'.gif" alt="'.$post['name'].'"/></a>',$msg);}$msg = preg_replace_callback($cache_pat,'sml_replace_callback',$msg);$n = 0;return $msg;}function sml_mk_pat($sml){return '%('.preg_quote($sml).')%';}function sml_mk_img($sml){return '<img src="/smiles/'.$sml.'.gif"/>';}function links_preg1($arr){return '<a href="'.$arr[1].'">'.$arr[2].'</a>';}function links_preg2($arr){return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];}function links($msg){$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);return $msg;}$versiya = '4.0 Лицензионная';function bbcodehightlight($arr){$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";}

Неактивен

#253 2011.09.27 23:39

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блин,создаю таблицу в базе вот такую

Код:

1
2
3
4
5
6
7
`id` INT( 11 ) NULL DEFAULT NULL AUTO_INCREMENT ,
`name` INT( 20 ) NULL DEFAULT NULL AUTO_INCREMENT ,
`id_dir` INT( 50 ) NULL DEFAULT NULL ,
`sim` VARCHAR( 50 ) NULL DEFAULT NULL ,
`user` INT( 11 ) NULL DEFAULT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

и выдает ошибку "#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key "
это значить что в таблице может быть только одно поле с атрибутом AUTO_INCREMENT,а мне нужно два таких поля(( как это сделать? или лучше обойтись одним полем id ? в принципе значения в поле id и name ,будут одинаковые если поставить AUTO_INCREMENT  (

Неактивен

#254 2011.09.28 00:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

тебе не нужно 2 автоинкремента. тут, на сколько я понял, нужна связь многие ко многим.

Неактивен

#255 2011.09.28 00:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

тебе не нужно 2 автоинкремента. тут, на сколько я понял, нужна связь многие ко многим.

наверное поле name нужно убрать,ведь значения в полях id и name будут одинаковые,и поле ид можно использовать в двух значениях сразу как имя(чтоб не повторялось имя файла при загрузке) и как ид ))

Отредактировано POFIGISST (2011.09.28 00:31)

Неактивен

#256 2011.09.28 00:34

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
Ну оно за частую так и делается.

Неактивен

#257 2011.09.28 22:16

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как мне в этом

Код:

1
span style="color: #0000BB"><?phprequire'../../config.php';$align='left';$title='Личные смайлы';aut();head();who_add(0,'enter');echo '<div class="menu">';if(!isset($user)){ echo '<div class="err">Доступ закрыт</div>'; }if($_GET['act']=='dir'){if(isset($_POST['name']) && isset($_POST['pos'])){ $name = esc(stripcslashes(htmlspecialchars($_POST['name']))); $pos = intval($_POST['pos']); if(strlen2($name)>32){ $err='Слишком большое название директории'; }else if(strlen2($name)<3){ $err='Слишком короткое название директории'; }else if($pos<0){ $err='Неверный выбор положения директории'; }else{mysql_query("INSERT INTO `user_smiles_dir` (`name`, `pos`, `user`) values('$name', '$pos', '$user[id]')");mysql_query("OPTIMIZE TABLE `user_smiles_dir` where `user` = $user[id]");print'Директория <b>'.$name.'</b> добавлена';}}echo '<form method="post" action="add.php?act=dir">';echo 'Название:(3-32)<br/><input name="name" maxlength="32"/><br/>';echo 'Позиция:(от 1)<br/><input name="pos"/><br/>';echo '<input value="Добавить" type="submit"/></form>';echo '&#187;&nbsp;<a href="index.php">Отмена</a><br/>';}else if($_GET['act']=='smile'){if(isset($_FILES['file']) && $_FILES['file']!=NULL && isset($_POST['name']) && isset($_POST['sim']) && isset($_POST['dir'])){ $name = esc(stripcslashes(htmlspecialchars($_POST['name']))); $dir_s = intval($_POST['dir']); $sim = htmlspecialchars($_POST['sim']);if($imgc=@imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))){ $name = rus_to_lat(tolower($name));if($name==NULL){ $err = 'Название файла не заполнено'; }else if(strlen2($name)>10){ $err = 'Название слишком большое. max 10'; }else if(strlen2($name)<1){ $err = 'Название слишком маленькое. min 1'; }else{mysql_query("INSERT INTO `user_smiles_spis` (`name`, `id_dir`, `sim`, `user`) values ('".$name."', '$dir_s', '$sim', '$user[id]')");copy($_FILES['file']['tmp_name'], '../../smiles/usersmiles/'.$name.'.gif');chmod('../../smiles/usersmiles/'.$name.'.gif',0666);print"<b>Смайл загружен</b><br>";}}else{ print"Это не смайл"; }mysql_query("OPTIMIZE TABLE `smiles_spis`"); }echo 'Загружать только *.gif<br/>';echo '<form method="post" enctype="multipart/form-data" action="add.php?act=smile">';echo '<input type="file" name="file" accept="image/*,image/gif"/><br/>';echo '<b>Короткое название смайла:</b><br/><input name="name"><br/>';echo '<b>На что заменяем?:</b><br/><input name="sim"><br/>';echo '<b>Директория</b>:<br/><select name="dir">';$q = mysql_query("SELECT * FROM `user_smiles_dir` where `user` = $user[id]");while($dir = mysql_fetch_array($q)){ echo '<option value="'.$dir['id'].'">'.esc(stripcslashes(htmlspecialchars($dir['name']))).'</option>'; }echo '</select><br/>';echo '<input value="Загрузить" type="submit"/></form>';echo '&#187;&nbsp;<a href="index.php">Отмена</a><br/>';}else{ echo '<div class="err">Неверный ввод</div>'; } echo '</div>';echo gb.'<a href="'.H.'my/index">Личный кабинет</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?>

сделать,чтоб название файла который закидывают было не то которое юзер пишет,а чтоб файл сохранялся с именем ид,то есть если ид равен 5 например,то чтоб и файл автоматически менял название на 5.gif как такое сделать?sad

Неактивен

#258 2011.09.28 23:28

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

ID чего/кого? Юзера, смайла в дирректории по порядку?

Неактивен

#259 2011.09.28 23:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

ID чего/кого? Юзера, смайла в дирректории по порядку?

в таблице user_smiles_spis первое поле идет id там автоинкремент стоит,вот хочу чтоб по умолчанию картинкам присваивалось имя их ИДа,чтоб юзер сам не мог давать имя файлу который он закидывает((

Неактивен

#260 2011.09.29 19:41

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а как можно сделать проверку данных которые юзер записывает в форму? то есть есть слова определенные в тхт файле,и над сделать проверку,чтоб если юзер в водит то слово которое в этом тхт файле , то чтоб писало ошибку((

Неактивен

#261 2011.09.29 20:26

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну при сабмите проверяй

Неактивен

#262 2011.09.29 20:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

ну при сабмите проверяй

напиши название  функции которая делает такую проверку?smile

Неактивен

#263 2011.09.29 20:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

==

Неактивен

#264 2011.09.29 20:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

это примерно так, переменная которую юзер вводит,проверяется в тхт файле,и если есть совпадения,то ошибку выдает?smile

Неактивен

#265 2011.09.29 21:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да

Неактивен

#266 2011.09.29 21:08

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

да

спасиб))

Неактивен

#267 2011.09.30 22:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Посоветуйте как лучше перенести таблицы с сервера на сервер.
phpmyadmin переносит  с потерями. А в ручную писать скрипт нет времени. Надо успеть до 0:00

Неактивен

#268 2011.09.30 22:18

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

какие именно "потери"?

Неактивен

#269 2011.09.30 22:23

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну я бекаплю частями по 10000 - 500000  запросов.
При заливке через phpmyadmin разные ошибки, так заливаю через гменеджер-ий заливщик.
пару ошибок и 10 тыс. потерялась. Ну в общем перелил только что фотки 400тыс. то проц. 5 нет в базе

Отредактировано TLENS (2011.09.30 22:24)

Неактивен

#270 2011.09.30 22:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

блин. что за "разные ошибки"?

Неактивен

#271 2011.09.30 22:28

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Да я сам фиг проссу.
То поврежденные архивы то нет никаких возвратов. А когда по одному то бывает проблема с кавычками они почему то пишутся не в специал.чаре
Добавлено спустя   8 минут  44 секунды:
Вроде перезалил все, кавычки сменил на соль и в новой базе заменил назад.

Неактивен

#272 2011.10.01 12:21

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Паша подскажи что делать.
Стоит nginx и set_time_limit включен но не работает.
Дает 504
читал в гугле решение только max_execution_time но для отдачи файлов ето не вариант надо именно set_time_limit/
Да и безопасный режим отключен

Неактивен

#273 2011.10.01 13:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

это в nginx надо ковырять время ожидания ответа.
конкретную директиву не помню.

Неактивен

#274 2011.10.05 19:56

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блин,написал сохранение писем,но где то ошибка в запросе,при нажатии на ссылку,в определенное поле в базу,должно заносить результат 1,но нифига не заносит его((
подскажите где в коде у мя ошибка?
вот код((

Код:

1
span style="color: #0000BB"><?phprequire'../config.php';$align='left';$title='Сообщения';head();aut();who_add(0,'enter');switch($mod){default:if (isset($_GET['delread'])){$db->sql_query("DELETE FROM `privat` where to_id = '".$user['id']."' and readin =1");header ('Location: privat?'.SID);}if (isset($_GET['save'])){$db->sql_query("INSERT INTO `saved` where to_id = '".$user['id']."'");header ('Location: privat?'.SID);}if (isset($_GET['delall'])){$db->sql_query("DELETE FROM `privat` where to_id = '".$user['id']."'");header ('Location: privat?'.SID);}echo '&#187; <a href="privat?mod=in">Входящие</a>(<b>'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where to_id = '".$user['id']."' and readin !=1"),0).'</b>/'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where to_id = '".$user['id']."'"),0).')<br />';echo '&#187; <a href="privat?mod=aut">Исходящие</a>(<b>'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where user_id = '".$user['id']."' and readin !=1"),0).'</b>/'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where user_id = '".$user['id']."'"),0).')<br />';echo '&#187; <a href="privat?mod=saved">Сохраненные </a>(<b>'.$db->sql_fetchfield($db->sql_query("select count(*) as num from saved where user_id = '".$user['id']."'"),0).'</b>)<br /><br />';echo '&#187; <a href="privat?mod=add">Написать</a><br />';echo '&#187; <a href="privat?save">Сохранить все прочитанные</a><br />';echo '&#187; <a href="privat?delread">Удалить все прочитанные</a><br />';echo '&#187; <a href="privat?delall">Удалить все входящие</a><br />';echo '&#187; <a href="friends">Ваши Друзья</a><br />';echo '&#187; <a href="ignor">Черный список</a><br />';break;case add:if (empty($act)){if ($_GET['err']==1)echo '<b>Сообщение должно быть длиннее 5 символов!</b>';if ($_GET['err']==2)echo '<b>Такого пользователя не существует!</b><br />';if ($_GET['err']==3)echo '<b>Проверочный код введен неверно!</b>';if ($_GET['err']==4)echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';if ($_GET['err']==5)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';if ($_GET['err']==6)echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';if ($_GET['err']==7)echo '<b>Этому пользователю писать могут только друзья.</b>';if ($_GET['err']==8)echo '<b>Полозователь запретил отправлять ему сообщения.</b>';if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&amp;act=act&amp;'.SID.'" method="post">';$to = check($_GET['to']);if ($ver=='wml'){echo 'Кому (Ник/ID):<br /><input name="to'.$ref.'" maxlength="15" value="'.$to.'" title="komu"/><br/>';echo 'Сообщение:<br /><input name="msg'.$ref.'" maxlength="512" title="komu"/><br/>';$chislo=rand(1000,9999);$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");$db->sql_query("INSERT INTO `chislo` (chislo,ip) values('$chislo','".$ip."')");echo '&#160;<b>'.$chislo.'</b><br/>Проверочный код:<br/><input type="text" name="code'.$ref.'" size="4" maxlength="4" title="code"/>';echo '<br /><anchor title="go">Написать<go href="privat?mod='.$mod.'&amp;act=add&amp;'.SID.'" method="post"><br />';echo '<postfield name="to" value="$to'.$ref.'"/><postfield name="msg" value="$msg'.$ref.'"/><postfield name="code" value="$code'.$ref.'"/></go></anchor><br />';}else{echo "Кому (Ник/ID):<br /><input name='to' maxlength='15' value='$to' title='komu'/><br/>\n";echo'Сообщение:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="msg" ></textarea><br />';$chislo=rand(1000,9999);$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");$db->sql_query("INSERT INTO `chislo` (chislo,ip) values('$chislo','".$ip."')");echo '&#160;<b>'.$chislo.'</b><br/>Проверочный код:<br/><input type="text" name="code" size="4" maxlength="4" title="code"/><br/>';echo '<input type="submit" class="ibutton" value="Написать"/></form><br /><br />';}}else{$to = check($_POST['to']);$msg = check($_POST['msg']);$_POST['code'] = check($_POST['code']);$msg = iconv('utf-8', 'windows-1251', $msg);$msg = substr($msg,0,512);$msg = iconv('windows-1251', 'utf-8', $msg);if ($user['translit']==1)$msg = translit($msg);if ($user['posts']<$set['posts_pr']){header ('Location: privat?mod='.$mod.'&err=4&'.SID); exit;}if (!user($to)){header ('Location: privat?mod='.$mod.'&err=2&'.SID); exit;}if (strlen2($msg)<5){header ('Location: privat?mod='.$mod.'&err=1&'.SID); exit;}if (user_inf($to,'xstatus')==2){header ('Location: privat?mod='.$mod.'&err=5&'.SID); exit;}if (ignor(user_inf($to),$user['id'])==1){header ('Location: privat?mod='.$mod.'&err=6&'.SID); exit;}if (user_inf($to,'pp_m_s')==2){header ('Location: privat?mod='.$mod.'&err=8&'.SID); exit;}if (user_inf($to,'pp_m_s')==1 && friends($to,$user['id'])!=1){header ('Location: privat?mod='.$mod.'&err=7&'.SID); exit;}$online = $db->sql_fetchrow($db->sql_query("SELECT * FROM `chislo` WHERE `ip` = '".$ip."'"));if($online['chislo'] != intval($_POST['code'])){header ('Location: privat?mod='.$mod.'&err=3&'.SID); exit;}if ($db->sql_query ("INSERT INTO privat (user,user_id,to_user,to_id,time,msg) VALUES ('$user[user]','$user[id]','".user($to)."','".user_inf($to)."','$time','$msg')")){if (user_inf($to,'pm_notify')==1){if ($user['sex']==1)$sex = 'оставил'; else $sex = 'оставила';$msgmail = "".$user['user']." ".$sex." Вам личное сообщение.\n Просмотреть Ваши новые личные сообщения можно на странице:\n http://".$_SERVER['HTTP_HOST']."/my/privat \n\n С уважением,Администрация ".$_SERVER['HTTP_HOST']."\n_ _ _ _ _\nВы можете поменять настройки e-mail оповещений на странице:http://".$_SERVER['HTTP_HOST']."/my/setting?mod=notify";$mail=explode('|',user_inf($to,'mail'));addmail($mail[0], $user['user'].' '.$sex.' Вам личное сообщение', $msgmail);}echo 'Сообщение для <b>'.user_inf($to,'user').'</b> отправлено!<br />';$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");if (user_inf($to,'onl')<($time-300)){if(user_inf($to,'avtootvet')!=""){echo 'Автоответчик: '.user_inf($to,'avtootvet').'<br/>';}}}}break;case in:if (isset($_GET['del'])){$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");}if (isset($_GET['delall'])){$db->sql_query("DELETE FROM `privat` WHERE `user_id` = '".intval($_GET['delall'])."' and `to_id` = '$user[id]'");}if (isset($_GET['save'])){$db->sql_query("update privat set save = '1' where id = '".$a['id']."'");}if (empty($user['max_pr'])) $user['max_pr']=5;$max = $user['max_pr'];$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where to_id = '".$user['id']."'"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;$r = $db->sql_query ("Select * from privat where to_id = '".$user['id']."' order by time desc LIMIT $start, $max");$k = $db->sql_numrows($r);if ( $k == 0 ){echo 'Сообщений пока нет :(<br />';}$post_k=$start+1;while($a = @$db->sql_fetchrow($r)){if ($a['readin'] == 0){$db->sql_query ("Update privat set readin = '1' WHERE id ='".$a['id']."'");echo links.'<img src="'.H.'img/new.gif" alt="" /> ';}else echo links;if ($a['user_id']==0)echo '<b>'.nik($a['user']).'</b> ('.times($a['time']).')<br />'.div;else echo '<b>'.nik($a['user_id']).'</b> ('.times($a['time']).')<br />'.div;echo antir(text($a['msg']))."<br/>";echo '<dl><dt></dt></dl><a href="privat?mod=add&amp;to='.user_inf($a['user']).'">Ответить</a>| <a href="privat?mod='.$mod.'&amp;save='.$a['id'].'">Сохранить</a> | <a href="friends?mod=add&amp;act=add&amp;nick='.user_inf($a['user']).'">В друзья</a>|<a href="ignor?mod=add&amp;act=add&amp;nick='.user_inf($a['user']).'">В черный список</a>|<a href="privat?mod='.$mod.'&amp;del='.$a['id'].'">Удалить</a>|<a href="privat?mod='.$mod.'&amp;delall='.user_inf($a["user"]).'">Удалить всё от</a> '.user($a["user"]).'';echo "<hr />";}if ($k_page>1){echo "<dl><dt></dt></dl>";str('privat?mod=in&amp;',$k_page,$page); // Вывод страницecho "<br /><dl><dt></dt></dl><br />";}break;case aut:if (empty($user['max_pr'])) $user['max_pr']=5;$max = $user['max_pr'];$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where user_id = '".$user['id']."'"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;$r = $db->sql_query ("Select * from privat where user_id = '".$user['id']."' order by time desc LIMIT $start, $max");$k = $db->sql_numrows($r);if ( $k == 0 ){echo 'Сообщений пока нет :(<br />';}$post_k=$start+1;while($a = @$db->sql_fetchrow($r)){if ($a['to_id']=='')echo user($a['to_user"']).'('.times($a['time']).')<br />';else echo '<b>'.nik($a['to_user']).'</b> ('.times($a['time']).')<br />';echo antir(text($a['msg']))."<br/>";echo '<dl><dt></dt></dl><a href="privat?mod=add&amp;to='.user_inf($a['to_user']).'">Написать ещё</a>|<a href="friends?mod=add&amp;user='.user_inf($a['to_user']).'">В друзья</a>|<a href="ignor?mod=add&amp;act=add&amp;nick='.$inf['id'].'">В черный список</a>';echo "<hr />";}if ($k_page>1){echo "<dl><dt></dt></dl>";str('privat?mod='.$mod.'&amp;',$k_page,$page); // Вывод страницecho "<br /><dl><dt></dt></dl><br />";}break;case del:break;}if ($mod)echo gb.'<a href="'.H.'my/privat">Ваши письма</a>'.div;echo gb.'<a href="'.H.'my/index">Личный кабинет</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?>

вот запрос в базу который отвечает за занос 1 в базу((

$db->sql_query("update privat set save = '1' where id = '".$a['id']."'");

Неактивен

#275 2011.10.05 20:28

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

после запроса сделай вывод ошибки. какой драйвер для работы с бд используется?

Неактивен

#276 2011.10.05 20:33

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

после запроса сделай вывод ошибки. какой драйвер для работы с бд используется?

ошибку не показывает,а просто обновляет страницу,ссылка на сохранение письма идет такая http://test4.ru/my/privat?mod=in&save=14
save=14 - это ид письма,которому нужно присвоить значение 1 в базе в определенную строку,а оно нифига не заносит(

Неактивен

#277 2011.10.05 22:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну пиши ошибку в лог

Неактивен

#278 2011.10.05 22:59

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

ну пиши ошибку в лог

не умею((не знаю как делатьsad

Неактивен

#279 2011.10.06 10:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

error_log('error');

Неактивен

#280 2011.10.06 13:15

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

неужели так еще кто то пишет?

POFIGISST написал:

if ($_GET['err']==1)echo '<b>Сообщение должно быть длиннее 5 символов!</b>';
if ($_GET['err']==2)echo '<b>Такого пользователя не существует!</b><br />';
if ($_GET['err']==3)echo '<b>Проверочный код введен неверно!</b>';
if ($_GET['err']==4)echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
if ($_GET['err']==5)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
if ($_GET['err']==6)echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
if ($_GET['err']==7)echo '<b>Этому пользователю писать могут только друзья.</b>';
if ($_GET['err']==8)echo '<b>Полозователь запретил отправлять ему сообщения.</b>';

Неактивен

#281 2011.10.06 15:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

неужели так еще кто то пишет?

POFIGISST написал:

if ($_GET['err']==1)echo '<b>Сообщение должно быть длиннее 5 символов!</b>';
if ($_GET['err']==2)echo '<b>Такого пользователя не существует!</b><br />';
if ($_GET['err']==3)echo '<b>Проверочный код введен неверно!</b>';
if ($_GET['err']==4)echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
if ($_GET['err']==5)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
if ($_GET['err']==6)echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
if ($_GET['err']==7)echo '<b>Этому пользователю писать могут только друзья.</b>';
if ($_GET['err']==8)echo '<b>Полозователь запретил отправлять ему сообщения.</b>';

вывод ошибок,а как ты предлогаешь написать?smile

Неактивен

#282 2011.10.06 15:28

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Тот вариант тоже правильный но там в место if надо использовать elseif дабы предотвратить бессмысленные проверки.
А вообще по всем принципам кодинга, да и по производительности такой вариант будет правильней.

Код:

1
span style="color: #0000BB"><?phpif (isset($_GET['err'])) { switch($_GET['err']) case 1 : echo '<b>Сообщение должно быть длиннее 5 символов!</b>'; break; case 2 : echo '<b>Такого пользователя не существует!</b><br />'; break; case 3 : echo '<b>Проверочный код введен неверно!</b>'; break; case 4 : echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>'; break; case 5 : echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>'; break; case 6 : echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>'; break; case 7 : echo '<b>Этому пользователю писать могут только друзья.</b>'; break; case 8 : echo '<b>Полозователь запретил отправлять ему сообщения.</b>'; break; }}

Отредактировано TLENS (2011.10.06 15:28)

Неактивен

#283 2011.10.06 15:39

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Тот вариант тоже правильный но там в место if надо использовать elseif дабы предотвратить бессмысленные проверки.
А вообще по всем принципам кодинга, да и по производительности такой вариант будет правильней.

Код:

1
span style="color: #0000BB"><?phpif (isset($_GET['err'])) { switch($_GET['err']) case 1 : echo '<b>Сообщение должно быть длиннее 5 символов!</b>'; break; case 2 : echo '<b>Такого пользователя не существует!</b><br />'; break; case 3 : echo '<b>Проверочный код введен неверно!</b>'; break; case 4 : echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>'; break; case 5 : echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>'; break; case 6 : echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>'; break; case 7 : echo '<b>Этому пользователю писать могут только друзья.</b>'; break; case 8 : echo '<b>Полозователь запретил отправлять ему сообщения.</b>'; break; }}

спасибо,воспользуюсь,а насчет elseif ты прав,чтоб пустых проверок небыло так нужно писать(( ступил((

Неактивен

#284 2011.10.06 16:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по 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
case add:
 
if (isset($_GET['err'])) {
switch($_GET['err'])
{
case 1 :
echo '<b>Сообщение должно быть длиннее 5 символов!</b><br />';
break;
case 2 :
echo '<b>Такого пользователя не существует!</b><br />';
break;
case 3 :
echo '<b>Проверочный код введен неверно!</b>';
break;
case 4 :
echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
break;
case 5 :
echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
break;
case 6 :
echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
break;
case 7 :
echo '<b>Этому пользователю писать могут только друзья.</b>';
break;
case 8 :
echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
break;
}
 
if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&amp;act=act&amp;'.SID.'" method="post">';
 
$to = check($_GET['to']);

Отредактировано POFIGISST (2011.10.06 16:49)

Неактивен

#285 2011.10.06 17:11

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ты что не умеешь php валидаторами пользоватся?
http://wapinet.ru/syntax/

Неактивен

#286 2011.10.06 17:16

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Ты что не умеешь php валидаторами пользоватся?
http://wapinet.ru/syntax/

я им и пользовался!!! ща я те скрин сделаю!!!! смотри Дим сам скрин(((


Вложения

Отредактировано POFIGISST (2011.10.06 17:18)

Неактивен

#287 2011.10.06 19:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну так мало ли, у тебя в функциях что. ты же их не валидируешь

Неактивен

#288 2011.10.06 19:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Нет фгурной скобы.
Я пропустил и ты с ними напортачил.

POFIGISST написал:

if (isset($_GET['err'])) {
    switch($_GET['err'])
      {
        case 1 :
    echo '<b>Сообщение должно быть длиннее 5 символов!</b><br />';
    break;
        case 2 :
    echo '<b>Такого пользователя не существует!</b><br />';
    break;
        case 3 :
    echo '<b>Проверочный код введен неверно!</b>';
    break;
        case 4 :
    echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
    break;
        case 5 :
    echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
    break;
        case 6 :
    echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
    break;
        case 7 :
    echo '<b>Этому пользователю писать могут только друзья.</b>';
    break;
        case 8 :
    echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
    break;
    }
}
if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&amp;act=act&amp;'.SID.'" method="post">';
 
$to = check($_GET['to']);

Отредактировано TLENS (2011.10.06 19:13)

Неактивен

#289 2011.10.06 19:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

ну так мало ли, у тебя в функциях что. ты же их не валидируешь

а как их можно валидировать? и вообще есть какая нить прога,чтоб проверяла на ошибки код?)
Добавлено спустя   3 минуты  18 секунд:

TLENS написал:

Нет фгурной скобы.
Я пропустил и ты с ними напортачил.

POFIGISST написал:

if (isset($_GET['err'])) {
    switch($_GET['err'])
      {
        case 1 :
    echo '<b>Сообщение должно быть длиннее 5 символов!</b><br />';
    break;
        case 2 :
    echo '<b>Такого пользователя не существует!</b><br />';
    break;
        case 3 :
    echo '<b>Проверочный код введен неверно!</b>';
    break;
        case 4 :
    echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
    break;
        case 5 :
    echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
    break;
        case 6 :
    echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
    break;
        case 7 :
    echo '<b>Этому пользователю писать могут только друзья.</b>';
    break;
        case 8 :
    echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
    break;
    }
}
if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&amp;act=act&amp;'.SID.'" method="post">';
 
$to = check($_GET['to']);

а с этой скобкой вообще "Удаленный сервер или файл не найден" Гг

Неактивен

#290 2011.10.06 20:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

многие IDE это умеют делать.

Неактивен

#291 2011.10.06 23:04

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

многие IDE это умеют делать.

спасибо,запомню это))

Отредактировано POFIGISST (2011.10.06 23:05)

Неактивен

#292 2011.10.06 23:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

помогите сделать запрос на проверку существования ида в базе? нужно написать запрос на проверку переменной $user['id'], в таблице group_users в поле user_id во всех полях которые там есть,и если где нибудь переменка $user['id'] равна числу которое в поле user_id,то чтоб скрывало ссылку? как такой запрос сделать можно?

Неактивен

#293 2011.10.06 23:43

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT COUNT(*) FROM `group_users` WHERE ` user_id` = '{$user['id']}'");if (!@mysql_result($q, 0)) { echo 'нет';}

Отредактировано TLENS (2011.10.06 23:43)

Неактивен

#294 2011.10.06 23:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

='(
в чем собсно сложность?
Добавлено спустя    57 секунд:
COUNT(*) заменить на 1
нам не нужно ничего считать.
и mysql_result заменить на mysql_num_rows

Неактивен

#295 2011.10.06 23:45

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

блин,я понимаю что для вас это не сложно,и вообще тут собрались хорошие кодеры(не считая меня,но я и не кодер) для меня синтаксис сложный если писать функции(

Неактивен

#296 2011.10.07 20:26

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

блин,это смешно,но я запутался(( не знаю как правильно знак поставить в коде((

вот код

Код:

1
2
3
4
5
if(isset($user)){
if($user['level']!=9){echo 'А ты что здесь забыл?';}else{
$action=htmlspecialchars(trim($_GET['action']));
switch ($action){
default:

и вот в этой if($user['level']!=9){echo 'А ты что здесь забыл?'; строке хочу сделать чтоб проверка была не только на левел 9,а хочу сделать чтоб если левел равен 8 или больше чем 8,то чтоб дальше код нормально шел((

Неактивен

#297 2011.10.07 20:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?phpif (isset($user)) { if ($user['level'] < 8) { echo 'А ты что здесь забыл?'; } else { $action=htmlspecialchars(trim($_GET['action'])); switch ($action){ default:

Неактивен

#298 2011.10.07 20:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

Код:

1
span style="color: #0000BB"><?phpif (isset($user)) { if ($user['level'] < 8) { echo 'А ты что здесь забыл?'; } else { $action=htmlspecialchars(trim($_GET['action'])); switch ($action){ default:

спасиб,а я делал не так((думал что через знак =< делать это((

Неактивен

#299 2011.10.08 01:34

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

так я с письмами и не разобрался,поэтому решил их переписать,смысл идет в том,чтоб юзер мог сохранять важные ему письма в архиве,и при чистке чтоб они оставались,решил это сделать так,если юзер сохранил письмо то в базу заносится значение 1,и при чистке чтоб не удаляло письма у которых стоит значение 1,может есть какой нить более удобный и просто способ сделать сохранение писем?

Неактивен

#300 2011.10.08 01:37

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

может есть какой нить более удобный и просто способ сделать сохранение писем?

А ты как думаешь, сможешь придумать лучше?

Неактивен

#301 2011.10.08 01:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

POFIGISST написал:

может есть какой нить более удобный и просто способ сделать сохранение писем?

А ты как думаешь, сможешь придумать лучше?

придумать то может и смогу,но воплотить это,х\з,не смогу наверное(
Добавлено спустя   7 минут  14 секунд:
ну или можно наверное еще сделать ,создать отдельную таблу для сохраненных и чтоб те письма которые сохраняют,переносились в эту таблицу и потом уже из нее сделать вывод)

Неактивен

#302 2011.10.08 01:50

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну блин тебе что трудно почитать мануал?
Я в JS был полным топором. Выучил его основы за три дня. (Далее практика и логика) Кстати он мне более всего нравится. А сейчас читаю мануал по сишарпе очень интересный правда на понятие основ, структурирование и принципов пошло более недели но во всяком случае не пол года как это длится у тебя. Не повторяй моих ошибок (Я наплевал на мануал и учил php методом тыка целых пять лет)
Да но не ленись тестировать! попробуй что лучше тот вариант или тот. Ну не может быть такого что в человека не присутствует логика. Или ты вообще занимаешься херней которая тебе и нах не нужна

Неактивен

#303 2011.10.08 01:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

я сначала сам пробую сделать,а потом уже на форуме пишу,у тебя опыта намного больше чем у меня,поэтому и спрашиваю совет как лучше сделать(

Неактивен

#304 2011.10.08 17:33

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

посмотрите плиз код загрузки личных смайлов(переписан) все хорошо работает,но может что-то подправить нужно в коде или по другому сделать((вот сам код загрузчика)))

Код:

1
span style="color: #0000BB"><?phprequire'../config.php';$align='left';$title='Анкета';aut();head();who_add(0,'enter');switch($mod) {case smile:if (empty($act)) {echo 'Размер загружаемого смайла не должен привышать 25 кб. 100х100px. Форматы: gif, jpg, jpeg, png<br/>';if ($_GET['err'] == 1) echo '<b style="color: red">Недопустимое расширение файла!</b><br />';if ($_GET['err'] == 2) echo '<b style="color: red">Размер файла не должен превышать 25 кб.</b><br />';if ($_GET['err'] == 3) echo '<b style="color: red">Достигнут лимит загружаемых смайлов!</b><br />';if ($_GET['err'] == 4) echo '<b style="color: red">Неправильное расширение смайла!</b><br />';$count = mysql_fetch_assoc(mysql_query("SELECT `lsmile`,`lsmile2`,`lsmile3` FROM `users` WHERE `id`='$id'"));if (!empty($count['lsmile'])) {$l = 1;}if (!empty($count['lsmile2'])) {$l2 = 1;}if (!empty($count['lsmile3'])) {$l3 = 1;}echo '<u>Личных смайлов '.($l+$l2+$l3).' из 3</u><br/>';echo '<form ENCTYPE="multipart/form-data" action="upload?mod=smile&amp;act=act&amp;'.SID.'" method="post">';echo '<b>Прикрепить смайл:</b><br/>';echo '<INPUT NAME="file" TYPE="file" SIZE="20"><br/><input type="submit" class="ibutton" value="Загрузить"></form><br/>';} else {if (!isset($_FILES['file'])) $err = "<b>Вы не указали файл!</b><br/>";$pictures = array('.gif', '.jpg', '.jpeg', '.png');$ext = strtolower(strrchr($_FILES['file']['name'], '.'));$par = getimagesize($_FILES['file']);if (($par[0] > 100) or ($par[1] > 100)) {header ('Location: upload?mod=smile&err=4&'.SID);exit;}$fnames = $_FILES['file']['name']; //имяif ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")) {header ('Location: upload?mod=smile&err=1&'.SID);exit;}if (!empty($user['lsmile']) && !empty($user['lsmile2']) && !empty($user['lsmile3'])) {header ('Location: upload?mod=smile&err=3&'.SID);exit;}if (!in_array($ext, $pictures)) {header ('Location: upload?mod=smile&err=1&'.SID);exit;}if ($_FILES['file']['size'] > (1024 * 25)) {header ('Location: upload?mod=smile&err=2&'.SID);exit;}if (empty($user['lsmile'])) {$foto = "files/lsmiles/smile_".$user['id'].$ext."";} elseif (empty($user['lsmile2'])) {$foto = "files/lsmiles/smile2_".$user['id'].$ext."";} elseif (empty($user['lsmile3'])) {$foto = "files/lsmiles/smile3_".$user['id'].$ext."";}if (empty($user['lsmile']) || empty($user['lsmile2']) || empty($user['lsmile3'])) {@copy($_FILES['file']['tmp_name'], H.$foto);@chmod(H.basename($foto), 0751);}if (empty($user['lsmile'])) {$db->sql_query("Update users set lsmile='".$foto."' where id ='".$user['id']."'");} elseif (empty($user['lsmile2'])) {$db->sql_query("Update users set lsmile2='".$foto."' where id ='".$user['id']."'");} elseif (empty($user['lsmile3'])) {$db->sql_query("Update users set lsmile3='".$foto."' where id ='".$user['id']."'");}header ('Location: profile?mod=lsmile&ok=add&'.SID);exit;}break;case 'photo':if (empty($act)){echo 'Размер загружаемого фото не должен привышать '.$set['size_photo'].' кб. Форматы: gif, jpg, jpeg, png.<br/>';if ($_GET['err']==1)echo '<b>Недопустимое расширение файла!</b><br />';if ($_GET['err']==2)echo '<b>Размер файла не должен превышать '.$set['size_photo'].' кб.</b><br />';echo '<form ENCTYPE="multipart/form-data" action="upload?mod=photo&amp;act=act&amp;'.SID.'" method="post">';echo '<b>Прикрепить фотку:</b><br/>';echo '<INPUT NAME="file" TYPE="file" SIZE="20"><br/><input type="submit" class="ibutton" value="Отправить"></form><br/>';}else{if(!isset($_FILES['file'])) $err = "<b>Вы не указали файл!</b><br/>";$pictures = array('.gif', '.jpg', '.jpeg', '.png');$ext = strtolower(strrchr($_FILES['file']['name'], '.'));$fnames=$_FILES['file']['name']; //имяif ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")){header ('Location: upload?mod='.$mod.'&err=1&'.SID);exit;}if(!in_array($ext, $pictures)){header ('Location: upload?mod=photo&err=1&'.SID);exit;}if($_FILES['file']['size'] > (1024 * $set['size_photo'])) {header ('Location: upload?mod=photo&err=2&'.SID);exit;}$foto = "files/photos/photo_".$user['id'].$ext."";unlink (H.$user['photo'].'');@copy($_FILES['file']['tmp_name'], H.$foto);@chmod(H.basename($foto), 0644);@$db->sql_query ("Update users set photo='".$foto."', vote_photo='0' where id ='".$user['id']."'");@$db->sql_query ("Delete from golos where user ='".$user['id']."'");header ('Location: profile?mod=photo&ok=add&'.SID);exit;}break;}echo gb.'<a href="index?mod=smile">Меню смайла</a>'.div;echo gb.'<a href="index">Личный кабинет</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?>

Добавлено спустя   4 минуты  3 секунды:
вот это

Код:

1
2
3
4
5
echo 'Размер загружаемого смайла не должен привышать 25 кб. 100х100px. Форматы: gif, jpg, jpeg, png<br/>';
if ($_GET['err'] == 1) echo '<b style="color: red">Недопустимое расширение файла!</b><br />';
if ($_GET['err'] == 2) echo '<b style="color: red">Размер файла не должен превышать 25 кб.</b><br />';
if ($_GET['err'] == 3) echo '<b style="color: red">Достигнут лимит загружаемых смайлов!</b><br />';
if ($_GET['err'] == 4) echo '<b style="color: red">Неправильное расширение смайла!</b><br />';

исправлю,делали уже замечание за такой вывод ошибок(

Неактивен

#305 2011.10.08 23:30

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а есть функция которая вырезает картинки со страниц,например смайлы, чтоб такой big_smile смайл отображался вот так :  D  если эта функция включена,а если нет,то чтоб норм показывались смайлы?

Неактивен

#306 2011.10.08 23:58

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну напиши и будет тебе такая функция.

Неактивен

#307 2011.10.09 00:05

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

название хоть такой функции скажи,поищу ман по ней,и буду пробовать сам писать)

Неактивен

#308 2011.10.10 23:11

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Да просто пусть пользователь в браузере показ картинок выключит и все smile
- - - -
Или просто вырезать, с готовой к выводу страницы, <img /> тег.

Код:

1
span style="color: #0000BB"><?phpfunction img_cut($html=0) { return preg_replace('/<img[^>]+>/i', '[image]', $html); }?>

Отредактировано tipsun (2011.10.10 23:35)

Неактивен

#309 2011.10.11 00:19

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Да просто пусть пользователь в браузере показ картинок выключит и все smile
- - - -
Или просто вырезать, с готовой к выводу страницы, <img /> тег.

Код:

1
span style="color: #0000BB"><?phpfunction img_cut($html=0) { return preg_replace('/<img[^>]+>/i', '[image]', $html); }?>

ну мне нужно чтоб при скрытие картинок показывало их название,а то в чате не понятно какой смайл ставят если их вырезать((
Добавлено спустя   2 минуты  24 секунды:
tipsun
спасибо,дальше сам уже разберусь))

Неактивен

#310 2011.10.11 00:31

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

а есть функция которая вырезает картинки со страниц...

Как написал так и понял smile
- - - -
Для смайлов по-другому.
Там у тебя есть функция для вставки смайлов, её выключать и все.

Отредактировано tipsun (2011.10.11 00:31)

Неактивен

#311 2011.10.11 00:34

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
спасиб,разберусь тамsmile)

Неактивен

#312 2011.10.11 08:24

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

название хоть такой функции скажи,поищу ман по ней,и буду пробовать сам писать)

В базу записывай не конвертированные Смайлы тип :) . А при выводе пользователю с базы обработай смайлы если надо, ну и понятно если не надо то не обрабатывай.
Добавлено спустя   4 минуты  1 секунду:
Ну или тоже самое как меняешь :) на <img ... .
Конвертируй эту функцию.

Неактивен

#313 2011.10.17 09:36

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Посмотрите пожалуйста код у кого есть время,скажите мои недочеты в нем?sad

Код:

1
span style="color: #0000BB"><?phprequire'../config.php';$align='left';$title='Удаление всех писем!';aut();head();who_add(0,'enter');echo '<div class="menu">';levels(9);//защита от ололожек...if (isset($_GET['act'])) { $act = check(intval($_GET['act']));} else { $act = '1';} switch ($act):case '1':echo '<b>Удаление всех писем!</b><br/>';if($user['level']==9) echo '<a href="delet?act=2">Удаляем все письма?</a><br/>';//если да,то переход на страницу подверждения...if($user['level']==9)echo '<a href="/enter">Нет,не удалять письма!</a><br/>';//отказ от удаления...if($user['level']!=9)echo 'Эээ...Верните копирайт сцуки....<br/>';//выводит если ололожка все таки пробрался...break;/** * Подтверждение удаления */ case '2':echo '<b>Вы уверены?</b><br/>';if($user['level']==9) echo '<a href="delet?act=3">Да!!</a><br/>';//подтверждаем...if($user['level']==9)echo '<a href="/enter">Нет!!</a><br/>';//не подтверждаем...break;case '3':/** * Сама функция удаления... */mysql_query("TRUNCATE TABLE `privat`");//запрос в бд на удаление...echo 'Письма успешно удалены!<br/>';if($user['level']==9) echo'<a href="index">В админку</a><br />';break;/** * the end... */default:header("location: delet.php");exit;endswitch;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?>

Неактивен

#314 2011.10.17 11:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

многабукаф

Неактивен

#315 2011.10.17 11:42

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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

Неактивен

#316 2011.10.17 11:43

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$text = preg_replace('/<img[^>]+>/i', '[image]', $text);?>

Регулярному выражению есть альтернативный синтаксис, покрасивше?

Отредактировано tipsun (2011.10.17 11:52)

Неактивен

#317 2011.10.17 11:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun тебе все img теги нужно вырезать?
я бы на твоем месте не парился. норм.

Неактивен

#318 2011.10.17 23:24

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как делать проверку при загрузке на размер файла,например если установлено 75х75 то чтоб если файл больше,то выдавало ошибку,как такую проверку можно сделать?smile

Неактивен

#319 2011.10.17 23:30

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну очень просто ты уже задавал этот вопрос и полчал на него ответ.
http://php.net/manual/ru/function.getimagesize.php

Неактивен

#320 2011.10.17 23:32

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Ну очень просто ты уже задавал этот вопрос и полчал на него ответ.
http://php.net/manual/ru/function.getimagesize.php

ты прав Дим,завтыкал совсем,сорри((

Неактивен

#321 2011.10.18 10:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

tipsun тебе все img теги нужно вырезать?
я бы на твоем месте не парился. норм.

Ну мне надо просто чтоб ограничить до символа ">" . Я, если не ошибаюсь, видел твой пост с каким-то другим ограничением, чтоб не пропустило символ нужный. Как-то с этими что-ли: |<тег>|

Отредактировано tipsun (2011.10.18 10:14)

Неактивен

#322 2011.10.20 00:53

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

блин,как сделать запрос в базу примерно вот такой

Код:

1
2
3
if (isset($_GET['del'])){
$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");
}

но чтоб вместо удаления,заносилось число 1 в таблицу privat в поле save?((

Неактивен

#323 2011.10.20 00:59

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

блин,как сделать запрос в базу примерно вот такой

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Первый результат с гугла

Неактивен

#324 2011.10.20 01:01

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

POFIGISST написал:

блин,как сделать запрос в базу примерно вот такой

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Первый результат с гугла

а эта SET column1=value, column2=value2,... строка за что отвечает?

Неактивен

#325 2011.10.20 01:02

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

UPDATE `privat`
SET `save` = 1
WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'

Неактивен

#326 2011.10.20 01:05

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

UPDATE `privat`
SET `save` = 1
WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'

да,понял,просто запись не привычная((

Неактивен

#327 2011.10.20 01:07

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
А что именно не привычно?

Неактивен

#328 2011.10.20 01:17

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
ну я привык что запросы пишутся примерно так "$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");" а у тя как то столбиком,и не знал для чего нужно SET не сталкивался с таким)((

Неактивен

#329 2011.10.22 10:55

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как правильно/лучше/итд?

1)

Код:

1
span style="color: #0000BB"><?php$a = 2;if($a != 1) echo $a;?>

2)

Код:

1
span style="color: #0000BB"><?php$a = 2;if(1 != $a) echo $a;?>

Отредактировано tipsun (2011.10.22 10:56)

Неактивен

#330 2011.10.22 11:58

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Как правильно/лучше/итд?

1)

Код:

1
span style="color: #0000BB"><?php$a = 2;if($a != 1) echo $a;?>

2)

Код:

1
span style="color: #0000BB"><?php$a = 2;if(1 != $a) echo $a;?>

а если переменная $a будет равна 0,то переменную а выведет))

я бы так сделал))

Код:

1
2
$a = 2;
if($a>=2) echo $a;

Неактивен

#331 2011.10.22 12:08

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

tipsun
Разницы никакой

Неактивен

#332 2011.10.22 17:25

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блин,нашел парс с o5wap.ru,на денвере норм работает,а на хосте вот такую ошибку выдает

Код:

1
Warning: set_time_limit() has been disabled for security reasons in /home2/d4cc1zrx/public_html/index3.php on line 4

ошибка в 4 строке,ток х.з что это за ошибка(( как её можно исправить?smile

Неактивен

#333 2011.10.22 21:32

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, ты кажется не понял сути моего вопроса smile
TLENS, спс.

Неактивен

#334 2011.10.23 01:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

1 != $a предпочтительнее чем $a != 1, т.к. в случае если забыли ! написать php кинет ошибку. такая страховка от описок.

Неактивен

#335 2011.10.23 08:14

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, ок, спс.

Неактивен

#336 2011.10.23 19:47

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj
Кстате да бывает частенько допустишь где то ошибку а а синтаксис правильный и ищи ее тогда.

Неактивен

#337 2011.10.25 14:35

Escos
Участник
Откуда: Снежинск
Зарегистрирован: 2010.01.31
Сообщений: 17
Карма: 2
Профиль

Re: Общие вопросы по PHP

есть ли возможность, изменить время последнего редактирования файла/директории?

Неактивен

#338 2011.10.25 14:42

Gemor
Гость

Re: Общие вопросы по PHP

touch

#339 2011.10.30 16:39

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

что это за  ошибка ?

Код:

1
Warning: file_get_contents(http://pron.siza.us/?) [function.file-get-contents]: failed to open stream: Operation now in progress in /home2/d4cc1zrx/public_html/set/index.php on line 21

это из за того что хост грабб не тянет? или ошибка в файле?

Неактивен

#340 2011.10.30 19:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#341 2011.10.30 19:44

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

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

Паш,я тебе в личку скину,потому что грабб платный,не могу выкладывать в паблик))
Добавлено спустя   7 минут  14 секунд:
Бля,хотя это из-за хоста (( на денвер только что поставил,работает(а на хосте ошибка((

Неактивен

#342 2011.10.30 20:47

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

у меня проблема не воспроизвелась, но там определенно есть ошибка в построении http запроса.
попробуй в index.php исправить код вначале на это:

Код:

1
2
3
4
5
6
7
8
9
10
11
$user = stream_context_create(array(
'http' => array(
'method' => 'GET',
'header' => array(
'User-Agent: Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/15.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413',
'Referer: http://pron.siza.us/'
)
)
));
 
$set = file_get_contents('http://pron.siza.us/?' . $_SERVER['QUERY_STRING'], false, $user);

Неактивен

#343 2011.10.30 23:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

у меня проблема не воспроизвелась, но там определенно есть ошибка в построении http запроса.
попробуй в index.php исправить код вначале на это:

Код:

1
2
3
4
5
6
7
8
9
10
11
$user = stream_context_create(array(
'http' => array(
'method' => 'GET',
'header' => array(
'User-Agent: Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/15.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413',
'Referer: http://pron.siza.us/'
)
)
));
 
$set = file_get_contents('http://pron.siza.us/?' . $_SERVER['QUERY_STRING'], false, $user);

Благодарю Паш,код заменил,на более дорогом хосте все работает,без ошибок,а на том на котором я сейчас,ошибка такая((Автор сказал возможную причину этой ошибки "видимо ip забанен на хосте,обратись в поддержку" )) напишу в поддержку,посмотрю,что они ответят,а там уже буду далее решать,что делать))

Неактивен

#344 2011.10.31 03:50

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Заебись,на другой хост валю(( вот что поддержка хоста ответила

"Здравствуйте, ip адрес на котором находится сайт pron.siza.us принадлежит подсети с которой совершалась атака на наш сервер, в текущий момент в бан листе находится вся подсеть. Доступ с нашего сервера к ней невозможен."

ну я в принципе так и думал((

Неактивен

#345 2011.11.01 16:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Подскажите,есть ли прога которая массово меняет кодировку в нескольких файлах сразу? Или может как-то можно сделать по другому,у меня есть скрипт,но там во всех страницах кодирока неверная стоит,и на страницах фигню выводит(( а на каждой странице менять кодировку заипусь((

Неактивен

#346 2011.11.01 17:35

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Должна быть

Неактивен

#347 2011.11.01 17:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#348 2011.11.01 21:02

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
Благодарю ))

Неактивен

#349 2011.11.01 23:22

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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

Неактивен

#350 2011.11.04 09:55

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

каким кодом можно сделать очистку папок? например написать код в какой нить файл,поставить на этот файл крон на 00.00 например,и чтоб при запуске этого файла,очищалась папка files,чтоб в ней удалялись все папки,какая функция это реализовывает? без бд все идет))

\\\\\\\\\\\\\\\\\\\\\\\\\\\
хотя нах крон,без крона вот так

Код:

1
lt;? function old($papka,$times){ $old_time = time()-60*$times; $dir = opendir ($papka); while ($file = readdir ($dir)) { if (( $file != ".") && ($file != "..")) $files[]="$papka/$file"; $time[]=filemtime("$papka/$file" ); } closedir ($dir); $count_files = count($files); for($i = 1; $i< $count_files; $i++){ if($time[$i] <= $old_time){ @unlink($files[$i]); } } } ?>

сделаю)) может есть вариант лучше?)

Отредактировано POFIGISST (2011.11.04 10:10)

Неактивен

#351 2011.11.04 10:34

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Тебе удалит в папке все файлы и все папки?

Неактивен

#352 2011.11.04 10:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

DarkRiDDeR написал:

Тебе удалит в папке все файлы и все папки?

да,у меня идет папка files в ней подпапки ну типа kartinki и в этих подпапках файлы идут) мне нужно полностью очищать папку files )

Неактивен

#353 2011.11.04 15:29

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Функция "Удаления каталога с файлами"
function delete_dir($dir){
$opendir = opendir($dir);
if(!is_dir($dir) || !$opendir) return FALSE;
 
while(($file = readdir($opendir)) !== false){
if($file == "." xor $file == "..") continue;
$file = $dir . '/' . $file;
 
if(is_dir($file)) delete_dir($file);
else unlink($file);
}
closedir($dir);
 
return rmdir($dir);
}

Получше, наверно, будет

Отредактировано DarkRiDDeR (2011.11.04 16:04)

Неактивен

#354 2011.11.04 16:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

DarkRiDDeR
в 4 строке ошибка какая то((

Неактивен

#355 2011.11.04 16:04

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

конец строки пропустил

Неактивен

#356 2011.11.04 22:29

Warwar50
Гость

Re: Общие вопросы по PHP

Привет. Подскажите код чтоб просмотреть всю инфу бравзера даже если юзер с оперы.

#357 2011.11.04 23:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

print_r($_SERVER);

Неактивен

#358 2011.11.05 11:16

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

А есть такая функция, которая возвращает номер строки скрипта? К примеру эта функция написана на 15 строке скрипта, 15 она и вернёт

Неактивен

#359 2011.11.05 12:35

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

__LINE__

Неактивен

#360 2011.11.05 13:35

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Пасяб

Неактивен

#361 2011.11.06 16:34

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

В общем вернулся к разработке своей cms системы, и опять работаю над mvc

Нужно определить путь к контроллеру, файл класса контроллера и метод который нам должен выдать скрипт!
В общем пока писал, запутался во всем этом! глянь те ка все нормально?

Код:

1
span style="color: #0000BB"><?php// константа PATH_CONTROLLERS это папка с контроллерамиclass WorkingWithUrl{ private $_arrDefault = array( 'path' => 'home/', 'class' => 'index', 'method' => 'default' ); function __construct() { if (! empty($_GET['do'])) { /* * Режем url. */ $arrURL = array_filter(explode('/', $_GET['do']), 'trim'); /* * Узнаем колличество эллементов. */ $intURL = count($arrURL); /* * Создаем временное хранилище. */ $i=0; $get = array('str'=>'', 'dir'=>'', 'class'=>'', 'method'=>'method'); /* * Обрабатываем каждый эллемент массива. */ foreach ($arrURL as $key) { /* * Узнаем была ли уже определен путь или нет, если да, то добавляем еще папку. */ $get['str'] = (empty($get['dir']) ? null : $get['dir']) . $key; /* * Определяем тип (папка это или файл)*/ if (is_dir(PATH_CONTROLLERS . $get['str']. '/')) { /* * Если это папка пишем в хранилище путь. */ $get['dir'] = $get['str'] . '/'; } else { /* * Определяем тип (файл это метод). */ if (is_file(PATH_CONTROLLERS . $get['str'] . '.php')) { /* * Если это файл класса, то пишем в хранилище название класса. */ $get['class'] = $arrURL[$i]; /* * Проеряем наличие метода в классе. */ } else { /* * Подключаем файл класса. */ include_once (PATH_CONTROLLERS . $this -> _arrDefault['path'] . $this -> _arrDefault['class'] . '.php'); /* * Проверяем наличие метода в классе. */ if (is_callable(array('Download_' . $get['class'], $key))) { /* * Если это метод то пишем в хранилище название. */ $get['method'] = $key; /* * Останавливаем выполнеие цикла (что бы не обрабатывал оставшиеся эллементы если они есть). */ continue; } else { /* * Если не найдена категория и файл класса, то очищаем хранилище. */ $get = array('str'=>'', 'dir'=>'', 'class'=>'', 'method'=>'method'); } } } ++$i; } $this -> _arrDefault['path'] = empty($get['dir']) ? $this -> _arrDefault['path'] : $get['dir']; $this -> _arrDefault['class'] = empty($get['class']) ? $this -> _arrDefault['class'] : $get['class']; $this -> _arrDefault['method'] = empty($get['method']) ? $this -> _arrDefault['method'] : $get['method']; } }}

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#362 2011.11.06 16:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

м, я тоже путаюсь тут. добавь к коду комментарии.
$get['str'] - это что?

Неактивен

#363 2011.11.06 17:04

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

м, я тоже путаюсь тут. добавь к коду комментарии.
$get['str'] - это что?

это для склеивания эллементов массива в строку составляющую путь
типа: из массива array(dir1, dir2, dir3) в строку  di1/dir2/dir3


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#364 2011.11.06 17:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну вроде норм. хотя я не понимаю, почему меня постоянно что-то путает)

Неактивен

#365 2011.11.06 18:37

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

ну вроде норм. хотя я не понимаю, почему меня постоянно что-то путает)

не знаю что там тебя пугает, но мне категорически не нравится такое колличество действий за один проход цикла...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#366 2011.11.06 18:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну видимо это и путает

Неактивен

#367 2011.11.07 06:04

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как можно замутить время онлайна? чтоб показывало сколько времени человек провел на сайте? Например Онлайн: 3дн.4ч.56м. как такое можно замутить?

Неактивен

#368 2011.11.07 06:35

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

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

Неактивен

#369 2011.11.07 06:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
в базу заносит когда юзер был последний раз вот так "2011-11-07 06:42:12"  это нужно все в секунды перекидывать?

Неактивен

#370 2011.11.07 10:04

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

нет. тебе нужно использовать нормальные функции для работы со временем. http://dev.mysql.com/doc/refman/5.5/en/ … tions.html

Неактивен

#371 2011.11.07 13:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

нет. тебе нужно использовать нормальные функции для работы со временем. http://dev.mysql.com/doc/refman/5.5/en/ … tions.html

Благодарю,за одно и английский выучу cool  big_smile

Неактивен

#372 2011.11.07 13:32

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Из любопытства пытаюсь написать http://www.kolobok.us/smiles/madhouse/mail1.gif задумку POFIGISST

Код:

1
span style="color: #0000BB"><?php//Для юзера обычно запускается.session_start();//Обычно для счетчика онЛайн бывает уже задан.//$offTimeLimit = 10; //seconds$offTimeLimit = 240; //seconds = 4 minutes$offTime = $_SERVER['REQUEST_TIME'] - $_SESSION['lastActivity'];if ( $offTimeLimit > $offTime )$_SESSION['onLineTime'] += $offTime;$_SESSION['lastActivity'] = $_SERVER['REQUEST_TIME'];//echo $_SESSION['onLineTime'];?>

Вместо того, чтоб заносить в

Код:

1
span style="color: #0000BB"><?php $_SESSION['onLineTime'] += $offTime; ?>

, получается надо в базу.
А в базе я попытался сделать поле

Код:

1
`lifeTime` DATETIME '0000-00-00 00:00:00'

и при помощи

Код:

1
`lifeTime`=DATE_ADD(`lifeTime`, INTERVAL '15' SECOND)

обновить, но сохраняет NULL (Проверил через SELECT как в примерах "там").
Значит `lifeTime` надо держать в INT/BIGINT?

Отредактировано tipsun (2011.11.07 14:39)

Неактивен

#373 2011.11.07 18:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да.

Неактивен

#374 2011.11.07 19:52

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, понятно, спс.

Оптимизация немножко big_smile если с базой дело будет.
Для чатов думаю как раз актуально.

Код:

1
span style="color: #0000BB"><?php //Для юзера обычно запускается.session_start();//$_SESSION = array();//интервал между обновлениями времени, жизни на сайте юзера, в базе.$updateInterval = 15; //sec//Обычно для счетчика онЛайн бывает уже задан.$offTimeLimit = 240; //seconds = 4 minutes$offTime = $_SERVER['REQUEST_TIME'] - $_SESSION['lastActivity']; if ($updateInterval < $offTime) { if ($offTimeLimit > $offTime) { $_SESSION['onLineTime'] += $offTime; //или запрос в базу на обновление... } $_SESSION['lastActivity'] = $_SERVER['REQUEST_TIME']; }//echo (int) $_SESSION['onLineTime'];?>

Отредактировано tipsun (2011.11.07 20:05)

Неактивен

#375 2011.11.08 01:26

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

вот такая проблема у меня возникла,в топе сайтов у меня есть функция автомодерация сайтов,то есть проверяет есть ли код счетчика на сайте,и если есть,то активирует сайт,а если нету,то не активирует(( но эта хрень не работает,ошибка какая-то в ней,посмотрите пожалуйста код этой функции

Код:

1
lt;? case 'auto_moderacia': if($id) { $platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1"); $platform_isset_c = mysql_num_rows($platform_isset); if($platform_isset_c > 0) { $us = mysql_fetch_array($platform_isset); if($us['status'] == 0) { $sait = file_get_contents('http://'.$us['url']); $preg = preg_quote('#<a href="http://'.$set['home'].'/go.php?id='.$id.'"><img src="http://'.$set['home'].'/image.php?id='.$id.'" alt="'.$set['top_name'].'"/></a>#iU'); if(preg_match($preg,$sait)) { $up = mysql_query("UPDATE `".$prefix."sait` SET `status` = '1' WHERE `id` = '".$id."'"); if($up) { echo '<div class="main">'; echo 'Сайт успешно активирован<br/>'; echo '</div>'; } else { echo '<div class="error">'; echo 'Сайт не активирован<br/>'; echo '</div>'; } } } else { echo '<div class="error">'; echo 'Сайт уже был ранее активирован<br/>'; echo '</div>'; } } } break; }

Неактивен

#376 2011.11.08 02:35

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Надо регулярку нормальную написать. У меня глаза слипаются.

Неактивен

#377 2011.11.08 02:42

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Надо регулярку нормальную написать. У меня глаза слипаются.

спасибо Дим,в аське все объяснил,я не прошу чтоб кто то за меня написал,хочу сам исправить,прошу только подсказать где ошибка((

Неактивен

#378 2011.11.08 02:44

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну видимо если есть ошибка то она в той самой регулярке.

Неактивен

#379 2011.11.08 02:49

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Ну видимо если есть ошибка то она в той самой регулярке.

пока отключу автомодерацию,днем еще подумаю на этой темкой,а то ща тоже уже засыпаю))

Неактивен

#380 2011.11.08 11:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

а тебе там вообще регулярка не нужна. проверяй соответствие через stripos

Неактивен

#381 2011.11.08 13:57

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
case 'auto_moderacia':
$findme = 'mastop.ru';
$platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1");
$us = mysql_fetch_array($platform_isset);
$mystring1 = file_get_contents('http://'.$us['url']);
 
$pos1 = stripos($mystring1, $findme);
if ($pos1 === false) {
echo "Не нашел";
}
 
 
if ($pos1 !== false) {
echo "Нашел ";
}

написал вот так для проверки,пока без базы,чтоб посмотреть какое сообщение выведет, и показало только что ошибкаbig_smile
Добавлено спустя   5 минут  23 секунды:
Warning: Unexpected character in input: ''' (ASCII=39) state=1   такую ошибку вообще первый раз вижу:0

Неактивен

#382 2011.11.08 14:18

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

С кодировкой что-то наверно

Неактивен

#383 2011.11.08 14:19

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

DarkRiDDeR написал:

С кодировкой что-то наверно

не знаю,но все равно код не верный,сейчас переделывать его буду,внимательнее вникну в него))

Неактивен

#384 2011.11.08 14:22

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Да ты в file_get_contents адрес введи вручную, если ошибки нет, то точно с MySQL связано
Добавлено спустя   2 минуты  16 секунд:

POFIGISST написал:

if ($pos1 === false) {
echo "Не нашел";
}


if ($pos1 !== false) {
echo "Нашел ";
}

не проще ли

Код:

1
2
3
4
5
if ($pos1 === false) {
echo "Не нашел";
} else{
echo "Нашел ";
}

Неактивен

#385 2011.11.08 14:27

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

DarkRiDDeR
ввел,все равно ошибка,код наверн не правильный,я по примеру смотрел,так и написал как в примере,но где то ошибку допустил))

Неактивен

#386 2011.11.08 14:31

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Текс загружаемой странице возможно в другой кодировке

Неактивен

#387 2011.11.08 14:33

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

DarkRiDDeR написал:

Текс загружаемой странице возможно в другой кодировке

так там берет код загружаемой страницу,его берет нормально,вчера проверял,и кодировка в той странице нормальная,я ищу только адрес сайта,а он на английском,думаю что не  с кодировкой проблема)

Неактивен

#388 2011.11.08 14:41

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неожиданный символ на входе:'''(ASCII = 39 - это перевод

Неактивен

#389 2011.11.08 14:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

сделал пока вот так

Код:

1
2
3
4
5
6
7
8
9
10
11
case 'auto_moderacia':
 
$findme = 'mastop.ru';
$mystring1 = file_get_contents('http://masteram.us');
$pos1 = stripos($mystring1, $findme);
if ($pos1 === false) {
echo "Не нашел";
} else{
echo "Нашел ";
 
}

если в переменную $mystring1 засунуть адрес мастоп.ру ,то пишет что найдена строка,а я вот для проверки всунул туда мастерам.ус и вывело сообщение,что строка не найдена)

Неактивен

#390 2011.11.08 14:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

смотри что в $mystring1
возможно, отдается не то, что ты ожидаешь.

Неактивен

#391 2011.11.08 15:11

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

смотри что в $mystring1
возможно, отдается не то, что ты ожидаешь.

если ставлю вот так echo $mystring1; то выводит нормально ту страницу которая в переменной,а если вот так echo highlight_string($mystring1); то выводит исходный код страницы)  если вот так echo $mystring1; то оно тоже должно выводить полностью исходный код? или оно все нормально выводит?

Неактивен

#392 2011.11.08 15:31

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Highlight я тебе дал просто для тестов он переобразовует всякие кавычки ампресанты и прочее в в тип &gt; &amp; и т.д. Блин ну не леничь почитай мануал про функцию. Неужели это так трудно?

Неактивен

#393 2011.11.08 15:45

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

вот так

Код:

1
2
3
4
5
6
7
8
9
10
11
12
case 'auto_moderacia':
$platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1");
$us = mysql_fetch_array($platform_isset);
$findme = 'mastop.ru';
$mystring1=file_get_contents('http://'.$us['url']);
$pos1 = stripos($mystring1, $findme);
if ($pos1 === false) {
echo "Не нашел";
} else{
echo "Нашел ";
 
}

проверка работает,теперь осталось только сделать запрос в базу,чтоб если находило код счетчика,то модерировало)

Неактивен

#394 2011.11.08 15:47

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

а там же был какой то запрос

Неактивен

#395 2011.11.08 15:49

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

а там же был какой то запрос

все,уже все сделал,всунул запрос,и теперь работает,вот код

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
case 'auto_moderacia':
$platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1");
$us = mysql_fetch_array($platform_isset);
$findme = 'mastop.ru';
$mystring1=file_get_contents('http://'.$us['url']);
$pos1 = stripos($mystring1, $findme);
if ($pos1 === false) {
echo "Не нашел";
} else{
$up = mysql_query("UPDATE `".$prefix."sait` SET `status` = '1' WHERE `id` = '".$id."'");
echo "Нашел ";
 
}

Добавлено спустя   7 минут  42 секунды:
вместо stripos,поставил stristr ,чтоб чувствителен к регистру небыл)

Неактивен

#396 2011.11.08 17:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST написал:

вместо stripos,поставил stristr ,чтоб чувствителен к регистру небыл)

stripos и так не чувствителен к регистру. к регистру чувствителен strpos

Неактивен

#397 2011.11.08 17:31

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST,
Описание stristr()
Возвращает подстроку строки haystack начиная с первого вхождения needle до конца строки.
Эта функция не учитывает регистр.
Если подстрока needle не найдена, stristr() возвращает FALSE.
Если needle не является строкой, он приводится к целому и трактуется как код символа.

Код:

1
span style="color: #0000BB"><?php$email = 'USER@EXAMPLE.com';$domain = stristr($email, 'e');echo $domain; // выводит ER@EXAMPLE.com?>

Ты уверен, что выбрал правильную функцию?

Отредактировано tipsun (2011.11.08 17:34)

Неактивен

#398 2011.11.08 17:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

где вы маны читаете??? читайте на оф сайте!

Неактивен

#399 2011.11.08 17:42

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя   3 минуты  2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.

Неактивен

#400 2011.11.08 18:37

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Бля,чет я ща сам не пойму где вычитал про регистр((
Добавлено спустя   1 минуту  30 секунд:

tipsun написал:

Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя   3 минуты  2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.

в адресе заменяй en на ru ,примерно вот так
http://www.php.net/manual/ru/function.stristr.php и будет счастье на русском)

Отредактировано POFIGISST (2011.11.08 18:39)

Неактивен

#401 2011.11.08 19:13

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Немного почистил потому что это не аська.
Для Не учитывания регистра используй в регулярке модификатор i

Неактивен

#402 2011.11.08 19:14

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

Бля,чет я ща сам не пойму где вычитал про регистр((
Добавлено спустя   1 минуту  30 секунд:

tipsun написал:

Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя   3 минуты  2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.

в адресе заменяй en на ru ,примерно вот так
http://www.php.net/manual/ru/function.stristr.php и будет счастье на русском)

Неа. Вот почему:
PHP.NET-EN: http://www.php.net/manual/en/function.stristr.php
PHP.NET-RU: http://www.php.net/manual/ru/function.stristr.php
| |
PHP.SU: www.php.su/functions/?stristr

Сравни полноту информации. smile

Отредактировано tipsun (2011.11.08 19:18)

Неактивен

#403 2011.11.08 19:35

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
ну если я английский не знаю,то хоть там 50 текстов на одной странице будет,я всеравно нифига там не поймуbig_smile

Неактивен

#404 2011.11.08 20:30

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Если указать в классе

Код:

1
span style="color: #0000BB"><?php class myClass { public static $myVar; } ?>

То это только чтоб она была доступна так self::$myVar в классе?
Она не сохраняется при перезагрузке страницы же?

Отредактировано tipsun (2011.11.08 20:41)

Неактивен

#405 2011.11.08 21:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Если указать в классе

Код:

1
span style="color: #0000BB"><?php class myClass { public static $myVar; } ?>

То это только чтоб она была доступна так self::$myVar в классе?
Она не сохраняется при перезагрузке страницы же?

В ASP сохраняется, а в php нет

Неактивен

#406 2011.11.08 21:36

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

TLENS, ок. Спс.

Неактивен

#407 2011.11.08 22:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Для чего делают так, указывают типы при создании функции?

Код:

1
span style="color: #0000BB"><?phpfunction test(integer $var1, bool $var2) { /**/ }?>

Можно ссылку, а то не могу найти.

Неактивен

#408 2011.11.08 22:25

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Это взято с низкоуровневого программирования.
Можно просто типо var i стековая или object obj для ссылочной
Но если введешь func..(integer var)
то она  не сможет принять например string или другой тип и компилятор даст ошибку.

Неактивен

#409 2011.11.08 22:38

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

TLENS, ну вроде более-менее понятно. Спс. smile

Отредактировано tipsun (2011.11.08 22:40)

Неактивен

#410 2011.11.08 22:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Блин я не сплю другие сутки хочу назад день на ночь вернуть.
С сакрытыми глазапи пишу там немного ошибок исправил.
На счет php http://php.su/learnphp/datatypes/

Неактивен

#411 2011.11.08 22:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

указание типов в php 5.4 введут. нужно это чтобы точно знать какого типа данные у нас имеются.
в php ничто не сохраняется между перезагрузкой страницы. сессии - это по сути тоже "костыль" чтоли в плане сохранения состояния)

Неактивен

#412 2011.11.08 22:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj
Паш а ты как с сишарпом разобрался?

Неактивен

#413 2011.11.08 23:20

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

забил) нет задач в принципе для кодинга на десктопе, поэтому незачем. ввязался в несколько оупенсорсных проектов на javascript, поэтому времени еще и на изучение C# мало. да и состояние не то сейчас.

Неактивен

#414 2011.11.08 23:24

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ясн.

Неактивен

#415 2011.11.08 23:26

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

...
Добавлено спустя    35 секунд:
охуенно, хули)

Неактивен

#416 2011.11.08 23:28

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А что на счет состояние? я не понимаю

Неактивен

#417 2011.11.08 23:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ай, бред) у меня такое бывает. в блогах читай

Неактивен

#418 2011.11.08 23:36

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А я кстати наивный начал C# учить я то думал и другие языки так легко будут даватся.
И пошел за ассемблером и теперь понимаю зачем был придуман Си))

Неактивен

#419 2011.11.08 23:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#420 2011.11.08 23:47

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А у меня все понимаю но как говорится сказать не могу.
При практике уже строк на 500 - 1000 начинаю крупно терятся.
Еще толкового отладчика не найду да и вычисление это, новое все, не успевает усвоится в голове.
Добавлено спустя   1 минуту  37 секунд:
На masm32 начинаю.
Добавлено спустя   7 минут  48 секунд:
В общем позже обязательно изучу его. Хорошая штука. Меня больше интересуют микро контролеры я с 8 лет в проводах рос.

Неактивен

#421 2011.11.09 00:33

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

скажите,а вот этот код

Код:

1
span style="color: #0000BB"><?phpsession_start();$width=75;$height=20;$im=imagecreatetruecolor($width, $height);imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));$str=NULL;for($i=0; $i<5; $i++) { $y=rand(2, 5); $x+=rand(8, 14); $str.=rand(1, 9); imagestring($im, rand(1, 10), $x, $y, $str[$i], imagecolorallocate($im, rand(90, 150), rand(90, 150), rand(90, 150))); }$_SESSION['kod'] = $str;header('Content-type: image/png');imagepng($im);imagedestroy($im);?>

отвечает за то,как на счетчиках расположены цифры хитов и хостов?

Неактивен

#422 2011.11.09 00:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

он за полную отрисовку картинки отвечает.

Неактивен

#423 2011.11.09 00:52

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

блин,а мне над найти где  только за цифры отвечает,хочу сделать чтоб хосты и хиты шли в столбик,а не горизонтально(

Неактивен

#424 2011.11.09 15:41

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Так напиши, не вижу в этом уж такой большой проблемы

Неактивен

#425 2011.11.09 15:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
Тему надо надо создать новую. Засрали эту тему. Надо переименовать помоги Пофигисту и прикрепить. smile
Лан Дима шучу.
ps. Надо тему создать со статьей как пользоваться гуглом.
Опять шучу.
Ты Дима задавай все свои вопросы, и просьбы мы все тебе поможем и напишем любой скрипт какой ты захочешь, раз уж такой уж Лентяй что лежа на деване даже ВИДЕО КУРСЫ посмотреть лень.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Мм да я в семье был самый ленивый настолько ленивый что все родственники меня поддергивали. Но увы не настолько!
Ты даже меня переплюнул.
Обижайся не обижайся но ты конкретный Лентяй.
Добавлено спустя   2 минуты :
Но ты не унывай все это лечится.

Неактивен

#426 2011.11.09 16:43

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, просто пользуйся этим правилом: прежде чем писать на форум, забей в гугл пару запросов.
Добавлено спустя   7 минут  17 секунд:

POFIGISST написал:

скажите,а вот этот код

Код:

1
span style="color: #0000BB"><?phpsession_start();$width=75;$height=20;$im=imagecreatetruecolor($width, $height);imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));$str=NULL;for($i=0; $i<5; $i++) { $y=rand(2, 5); $x+=rand(8, 14); $str.=rand(1, 9); imagestring($im, rand(1, 10), $x, $y, $str[$i], imagecolorallocate($im, rand(90, 150), rand(90, 150), rand(90, 150))); }$_SESSION['kod'] = $str;header('Content-type: image/png');imagepng($im);imagedestroy($im);?>

отвечает за то,как на счетчиках расположены цифры хитов и хостов?

Отвечает за captcha. Мне кажется.

Отредактировано tipsun (2011.11.09 16:55)

Неактивен

#427 2011.11.09 17:49

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, как видно из твоего поста за вид счетчика отвечает файл: image.php в корне скрипта. Скорее всего.

Отредактировано tipsun (2011.11.09 17:50)

Неактивен

#428 2011.11.13 23:00

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Гемор, у тебя нет обработчика для set_error_handler() уже написанного?
а то лень самому все условия подберать...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#429 2011.11.13 23:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

неа. в гменеджере что-то вроде есть, но мне не оч нравится

Неактивен

#430 2011.11.15 00:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

блин,что я делаю не так? у меня идет страница вот такая

Код:

1
span style="color: #0000BB"><?phpheader('Content-type: text/html; charset=utf-8');echo '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"><head><title>Порнушка для всех</title><meta name="description" content="wap порно, шафка, шульц, нси, sieg heil, сиськи, грудь, угар,Частное, разврат, эротика, секс, бесплатно, халявка, сотовый, мобильный, качай, скачать, клипы, 2011 порно новинки, новинки, хиты, порно, все бесплатно" /><link rel="stylesheet" href="http://dimax.in/style.css" type="text/css" /><link rel="shortcut icon" href="favicon.ico" /></head><body><div class="head"><img src="http://dimax.in/video/logo.png"/></div>';echo'<div class="head"><img src="http://dimax.in/video/reklama.gif" alt="rek"/><br/></div>';echo'<div class="block">';echo'Сайт содержит материалы <strong>порнографического</strong> характера.<br/>';echo'Убедительная просьба - если вам еще не исполнилось 18 лет покиньте данный сайт!<br/>';echo'<a href="http://dimax.in/ind.php">Продолжить просмотр?</a><br/></div>';echo '<div class="foot">include "video/foot.php";</div></body></html>';?>

но инклюд внизу не работает вот этот include "video/foot.php"; на странице его выводит как текст вот так include "video/foot.php"; в чем может быть причина того,что не инклюдит? по разному уже пробовал,но все равно выводит просто текст(

Неактивен

#431 2011.11.15 00:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

echo '<div class="foot">';

include "video/foot.php";
echo '</div></body></html>';

Неактивен

#432 2011.11.15 01:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
спасибо,работает,а то заипался на каждой странице счетчики прописывать(

Неактивен

#433 2011.11.15 10:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, подсветка ни о чем не говорит?

Неактивен

#434 2011.11.15 10:59

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

POFIGISST, подсветка ни о чем не говорит?

честно сказать нет sad

нужно было позакрывать строки чтоб между ними всунуть инклюд,а я между открытыми строками совал его,поэтому выводило как текстsad

Отредактировано POFIGISST (2011.11.15 11:26)

Неактивен

#435 2011.11.15 13:47

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

Gemorroj написал:

POFIGISST, подсветка ни о чем не говорит?

честно сказать нет sad

нужно было позакрывать строки чтоб между ними всунуть инклюд,а я между открытыми строками совал его,поэтому выводило как текстsad

В ГМенеджере есть встроенный валидатор и он покажет тебе все буквально в один клик


Вложения

Неактивен

#436 2011.11.15 14:04

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST Чета мне кажется что ты создаешь копию моего сайта.
Брось это а то я обижусь

Неактивен

#437 2011.11.24 01:10

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Пишу грабб порно видео,и вот возникла проблемка,когда тыкаю на ссыль "Скачать" мне выдает 404 ошибку,адрес ссыли идет примерно такой http://мой сайт.ру/d/?fid=3488,а нужно сделать чтоб в ссыле вместо "мой сайт.ру" был адрес kiss.siza.us , как мне нужно написать код,чтоб так получалось?

Неактивен

#438 2011.11.24 01:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Логично было бы заменить в исходном коде ссылку

Неактивен

#439 2011.11.24 01:20

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
мне над чтоб все остальные ссыли шли с моего сайта,только чтоб адрес ссылки "Скачать" был полностью настоящий,то есть тот откуда я тырю файлы(

Неактивен

#440 2011.11.24 01:20

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну так замени

Неактивен

#441 2011.11.24 01:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Ну так замени

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

Неактивен

#442 2011.11.24 01:24

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Извини ничем помочь не могу. Я не провидец

Неактивен

#443 2011.11.24 01:32

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
пока не сделаю спать не пойду,самому интересно сделатьbig_smile

Неактивен

#444 2011.11.24 01:46

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Дай ссыль на установленный скрипт. впадло ставить на хост

Неактивен

#445 2011.11.24 01:46

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

юзайте кому надо smile  я спать пойду smile
Добавлено спустя   1 минуту  2 секунды:

TLENS написал:

Дай ссыль на установленный скрипт. впадло ставить на хост

у мя он у самого на денвере,ща поставлю куда нить big_smile

Неактивен

#446 2011.11.24 01:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Я в душ. Жди
Добавлено спустя   1 минуту  18 секунд:
Можешь не ставить дай просто исходный html код

Неактивен

#447 2011.11.24 01:55

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
я уже поставил,ток диз еще не подогнал,вот мое г http://xporno.in/vid/ )

Неактивен

#448 2011.11.24 02:01

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

у меня постоянный таймаут дай исходник

Неактивен

#449 2011.11.24 02:04

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

у меня постоянный таймаут дай исходник

вот http://kiss.siza.us/ исходник,откуда граблю файлы)

Неактивен

#450 2011.11.24 02:05

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Корочь я не могу так там исходник там код какая. Давай уже завтра проснешся и сам.

Неактивен

#451 2011.11.24 02:07

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Корочь я не могу так там исходник там код какая. Давай уже завтра проснешся и сам.

оки,хорошо,под вечер уже мозг немного тупит,днем посмотрю свежим глазом)))

Неактивен

#452 2011.11.24 02:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

$vid = str_replace('<a href="d/?fid=4836">Скачать</a>', '<a href="http://kiss.siza.us/d/?fid=4836">Скачать</a>', $vid);

Неактивен

#453 2011.11.24 02:19

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
так тоже не изменился адрес,забей Дим,я днем сам сделаю,за одно и потренируюсь граббы писать))

Неактивен

#454 2011.11.24 02:20

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Как это не изменился как изменился. Ставь перед echo

Неактивен

#455 2011.11.24 02:28

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
извиняюсь,беру свои слова обратно,адрес изменился,просто не в том файле посмотрелsad

Неактивен

#456 2011.11.24 21:13

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Скажите а есть такая функция на пыхе,которая накладывает копирайт на видео,ну например на первых 15 кадров видео?)

Неактивен

#457 2011.11.24 21:14

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

На пыхе нет.
Добавлено спустя   1 минуту  1 секунду:
Есть команда для ffmpeg. Но она долго работает нужен проц хороший

Неактивен

#458 2011.11.24 21:17

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
спасибо,буду знать,поищу другое альтернативное решение задачи с копирайтом smile

Неактивен

#459 2011.11.24 21:19

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Возьми себе vds/vps они не дорого стоят видел и по 3$. За то сможешь установить себе любую программу и обращатся к ним с php скриптов.

Неактивен

#460 2011.11.24 21:21

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Возьми себе vds/vps они не дорого стоят видел и по 3$. За то сможешь установить себе любую программу и обращатся к ним с php скриптов.

это мысль,ток за 3$ хорошего нету ничего,ща инет поюзаю,посмотрю цены и характеристики))

Неактивен

#461 2011.11.24 21:24

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

colobridge.net советую. кстати если решишся стукнишь я тебе дам промокод.
там и isp бесплатно

Неактивен

#462 2011.11.29 23:46

Newmastja
Гость

Re: Общие вопросы по PHP

Привет. Скажите пожалоста как с сайта php показать число онлайна людей на сайте вен.ру с исполь. Javascript

#463 2011.11.29 23:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

вопрос по точнее можно. Что именно тебе сказать?

Неактивен

#464 2011.11.30 01:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
он наверн хочет сделать примерно так,чтоб на венике показывало сколько людей сейчас на  сайте "spaces.ru(любой сайт на пыхе)"  я так понял его вопрос)

Неактивен

#465 2011.11.30 03:15

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Да, да, есть специальные сервисы, надо поискать

Неактивен

#466 2011.11.30 03:51

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

TLENS
он наверн хочет сделать примерно так,чтоб на венике показывало сколько людей сейчас на  сайте "spaces.ru(любой сайт на пыхе)"  я так понял его вопрос)

Бля я что тупой. Объясни тогда ты мне что надо ему сказать! Я жду.

Неактивен

#467 2011.11.30 03:58

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

POFIGISST написал:

TLENS
он наверн хочет сделать примерно так,чтоб на венике показывало сколько людей сейчас на  сайте "spaces.ru(любой сайт на пыхе)"  я так понял его вопрос)

Бля я что тупой. Объясни тогда ты мне что надо ему сказать! Я жду.

скажи ему если знаешь,как такую хрень делать через Javascript )

Неактивен

#468 2011.11.30 03:59

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Мда... Я то знаю дак что ему целый скрипт писать?

Неактивен

#469 2011.11.30 04:19

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
я сомневаюсь,что он тут еще появитсяsmile

Неактивен

#470 2011.11.30 15:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Newmastja написал:

Привет. Скажите пожалоста как с сайта php показать число онлайна людей на сайте вен.ру с исполь. Javascript

Ахтунг! Я не силен в JS и болен на голову...
Почти так же, я думаю, как:

Код:

1
<img src="http://serv.ru/ololo/script/image.php?id=100500" alt="onLine" />

Только надо сделать, чтоб php файл на сервере подсчета отправлял не картинку, а GET/POST данные и ява их принимать и отображать.

Отредактировано tipsun (2011.11.30 15:19)

Неактивен

#471 2011.11.30 21:34

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Можно ли как то в MySQL при создании новой строки указать в одном из полей будующий id ?
А то два запроса подряд вообще не радует )=
А то на данный момент есть такое:

Код:

1
span style="color: #0000BB"><?php$strDir = '1/2/3/4/5/';/* * Создаем новую строку. */DB :: $dbh -> query("INSERT INTO %category% (`cat_title`) VALUES (?);", array($title));/* * Узнаем ID только что добавленой строки. */$intLastID = DB :: $dbh -> lastInsertId();/* * Указываем путь к папке. */$strDir = $strDir . $intLastID . '/';/* * Обновляем только созданую строку. */DB :: $dbh -> query("UPDATE %category% SET `cat_path` = ? WHERE `cat_id` = ? LIMIT 1;", array($strDir, $intLastID));

Хотелось бы что-то типа такого:

Код:

1
SQL -> INSERT INTO `table` (`cat_title`, `cat_path`) VALUES ('value', LAST_INSERT_ID());

З.ы LAST_INSERT_ID() и вьюхи не предлогать :-D


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#472 2011.12.01 10:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну можно подзапросом select сделать на последний id, но это бред.
оставляй как есть. если используется innodb, то оберни еще в транзакцию.

Неактивен

#473 2011.12.01 11:59

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Плохо...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#474 2011.12.01 15:19

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Nu3oN написал:

Плохо...

Бедный, вчера целый вечер ломал голову))

Неактивен

#475 2011.12.01 19:37

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS написал:

Nu3oN написал:

Плохо...

Бедный, вчера целый вечер ломал голову))

Осталось только пойти повеситься  big_smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#476 2011.12.07 23:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Помогите пожалуйста написать запрос на смену пароля,в базе пароль идет в мд5,я пишу вот такой запрос

Код:

1
2
3
4
5
6
7
8
9
case "smpass":
echo '<b>Смена пароля</b><br/>';
echo'<input name="password" type="text" value="'.$user['password'].'"/><br/>';
echo '<a href="editanketa.php?act=ssm">Сменить</a><br/>';//подтверждаем...
break;
case "ssm":
mysql_query("UPDATE `user` SET `password` WHERE id=".$user['id']."");
echo 'Вы успешно сменили пароль<br />';
break;

но какую то я ошибку делаю,и сам не пойму какую( пароль который вводят в поле должен заноситься в переменную $user['password'] , потом эта переменная должна шифровать тот пасс который юзер ввел в мд5 и результат (пароль в мд5) должен уже идти в базу в поле password тому юзеру у которого ид равен иду того кто меняет пароль(

Неактивен

#477 2011.12.08 00:11

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?phpswitch ($_GET['act']) { case 'smpass': echo '<b>Смена пароля</b><br/>'; echo '<input name="password" type="text" value=""/><br/>'; echo '<a href="editanketa.php?act=ssm">Сменить</a><br/>';//подтверждаем... break; case 'ssm': if (mysql_query("UPDATE `user` SET `password` = " . md5($_POST['password']) . " WHERE id=" . $user['id'])) { echo 'Вы успешно сменили пароль<br />'; } break;}

Неактивен

#478 2011.12.08 00:21

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
спасибо огромное Паш))

Неактивен

#479 2011.12.08 01:01

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Не заносит в базу новый пароль,я поставил else чтоб если не заносит в базу,то выводило сообщение о том что пароль не сменен, и вывод  md5($_POST['password']) сделал,чтоб было видно значение которое в ней содержится,в ней идет совсем левый хеш "d41d8cd98f00b204e9800998ecf8427e" я рашивровал его и вот какой текст там "<No password>" хотя я ввожу совсем другие пассы((

Неактивен

#480 2011.12.08 02:08

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Написал немного по другому код,добавил проверку старого пароля при смене и  подтверждение нового пароля,вродь гуд работает)

Неактивен

#481 2011.12.08 08:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST написал:

я рашивровал его

крутой чел)

Неактивен

#482 2011.12.08 23:15

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

крутой чел)

http://crackfor.me/index.php

Неактивен

#483 2011.12.08 23:37

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

бля,опять у меня криворукость sad  ночью что-то не так замутил с проверкой старого пароля на соответствие с тем паролем который в базе,и теперь когда пишу правильный пароль,проверка не срабатывает,пишет что старый пароль не верный,посмотрите пожалуйста мой код,и подскажите в чем моя ошибка sad

вот так я наговнокодил

Код:

1
span style="color: #0000BB"><?php case 'smpass':echo '<b>Смена пароля</b><br/>';echo '<form action="editanketa.php?act=ssm" method="post"><input name="old_password" type="password" value=""/><br/><input name="new_password" type="password" value=""/><br/><input name="confirm_new_password" type="password" value=""/><br/><input type="submit" value="Сменить пароль"/></form>';break;case 'ssm':if(mysql_query("SELECT * FROM `users` WHERE id ='" . $user['id']."', `password` = " . md5($_POST['old_password']) )){if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']){if(mysql_query("UPDATE `users` SET `password` = " . md5(mysql_real_escape_string($_POST['password'])) . " WHERE id =" . $user['id'])){echo 'Вы успешно сменили пароль<br />';}else{echo 'Пароль сменить не удалось<br />'.mysql_error().'<br/>';}}elseecho 'Пароль сменить не удалось<br />Не заполнен новый пароль или неправильное его подтверждение<br/>';}elseecho 'Пароль сменить не удалось<br />Старый пароль указан неправильно!<br/>';break;

Отредактировано POFIGISST (2011.12.09 00:30)

Неактивен

#484 2011.12.09 01:36

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по 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
case 'smpass':
echo '<b>Смена пароля</b><br/>';
echo '
<form action="editanketa.php?act=ssm" method="post">
Старый пароль:<br/>
<input name="old_password" type="password" value=""/><br/>
Новый пароль:<br/>
<input name="new_password" type="password" value=""/><br/>
Подтвердите новый пароль:<br/>
<input name="confirm_new_password" type="password" value=""/><br/>
<input type="submit" value="Сменить пароль"/>
</form>
';
 
break;
 
case 'ssm':
if(mysql_query("SELECT * FROM `users` WHERE `id` ='" . $user['id']."' AND `password` = '" . md5($_POST['old_password'])."' " ))
{
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])
{
if(mysql_query("UPDATE `users` SET `password` = '" . protect(md5($_POST['new_password'])) . "' WHERE `id` ='" . $user['id']."' "))
{
echo 'Вы успешно сменили пароль<br />';
}
else
{
echo 'Пароль сменить не удалось2<br />'.mysql_error().'<br/>';
}
 
}
else
echo 'Пароль сменить не удалось3<br />Не заполнен новый пароль или неправильное его подтверждение<br/>'.mysql_error().'<br/>';
}
else
echo 'Пароль сменить не удалось4<br />Старый пароль указан неправильно!<br/>'.mysql_error().'<br/>';
 
break;

напишите какие есть замечания по коду))

Неактивен

#485 2011.12.09 09:58

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

лучше сначало проверить это
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']))
И проверить лучше на существование все данные формы if(isset($_POST['new_password'], $_POST['confirm_new_password'], $_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])).

Я бы ещё на всякий случай обрабатывал md5($_POST['old_password']) с помощью mysql_real_escape_string, хотя это скорее даже лишнее, но я бы сделал так

Неактивен

#486 2011.12.09 10:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST написал:

Gemorroj написал:

крутой чел)

http://crackfor.me/index.php

ну так тупо перебор по заданным хэшам - не интересно)

Неактивен

#487 2011.12.09 14:26

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj
У меня когда то была идея закупить серьезное оборудование чтобы перебрать в базы. Для обыгрывания казино.
Я по высчетам дошел до квинтилиона, далее понял что достаточно бредить.
Если и закуплю данное оборудование надо минимум пару лет для создания базы хешов. Да и в казино нет столько денег что бы окупить затраты на оборудование.

Неактивен

#488 2011.12.09 15:09

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Только что реально посчситал.
Вот дурная идея надо хешев корочь я даже не знаю как назвать в общем 70в32 ст.

Неактивен

#489 2011.12.09 17:24

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ну собирать хэши - дурнаю идея, а вот раскодировать. md5 - это по сути своеобразное кодирование данных. А что имело определённую сущность, можно привести к первообразному.

Неактивен

#490 2011.12.09 17:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

DarkRiDDeR веперед) вот только приведение у тебя вся жизнь уйдет)

Неактивен

#491 2011.12.09 17:28

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Я и не собирался вперёд. Я говорю, что можно, но это не значит, что возможно big_smile

Неактивен

#492 2011.12.10 22:40

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

ну так тупо перебор по заданным хэшам - не интересно)

а как тогда делать? самому расшифровывать? если не ошибаюсь,то точного алгоритма мд5 нету(
Добавлено спустя   6 минут  10 секунд:
вот так сделал на быструю руку,а то было уже 4 часа утра когда доделывал ( как убивать  Cookies я х.з. поэтому сделал вот так

Код:

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
case 'smpass':
echo '<b>Смена пароля</b><br/>';
echo '
<form action="editanketa.php?act=ssm" method="post">
Старый пароль:<br/>
<input name="old_password" type="password" value=""/><br/>
Новый пароль:<br/>
<input name="new_password" type="password" value=""/><br/>
Подтвердите новый пароль:<br/>
<input name="confirm_new_password" type="password" value=""/><br/>
<input type="submit" value="Сменить пароль"/>
</form>
';
 
break;
 
case 'ssm':
if(mysql_query("SELECT * FROM `users` WHERE `id` ='" . $user['id']."' AND `password` = '" . md5($_POST['old_password'])."' " ))
{
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])
{
if(mysql_query("UPDATE `users` SET `password` = '" . protect(md5($_POST['new_password'])) . "' WHERE `id` ='" . $user['id']."' "))
{
echo 'Вы успешно сменили пароль<br />';
header("Location: ./sign.php?act=exit ");
exit();
 
}
else
{
echo 'Пароль сменить не удалось2<br />'.mysql_error().'<br/>';
}
 
}
else
echo 'Пароль сменить не удалось3<br />Не заполнен новый пароль или неправильное его подтверждение<br/>'.mysql_error().'<br/>';
}
else
echo 'Пароль сменить не удалось4<br />Старый пароль указан неправильно!<br/>'.mysql_error().'<br/>';
 
break;

при смене пароля cookies не удалялись,поэтому я сделал редирект на страницу выхода,там они убиваются,это каешн ужасный г код((

Неактивен

#493 2011.12.11 19:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

как убивать  Cookies я х.з.

Ну в мануале почитай. smile
- - - -
Поздно, я за тебя прочитал big_smile

Код:

1
span style="color: #0000BB"><?phpsetcookie('cookieName', '', $_SERVER['REQUEST_TIME'] - 3600);//Задаешь имя, тут ничего, время за счет которого кука будет считаться истекшей; - браузер это дело сразу удаляет.?>

Отредактировано tipsun (2011.12.11 19:19)

Неактивен

#494 2011.12.11 21:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

POFIGISST написал:

как убивать  Cookies я х.з.

Ну в мануале почитай. smile
- - - -
Поздно, я за тебя прочитал big_smile

Код:

1
span style="color: #0000BB"><?phpsetcookie('cookieName', '', $_SERVER['REQUEST_TIME'] - 3600);//Задаешь имя, тут ничего, время за счет которого кука будет считаться истекшей; - браузер это дело сразу удаляет.?>

если так сделать,то нужно будет каждый час заново авторизововаться((

Неактивен

#495 2011.12.11 21:35

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

если так сделать,то нужно будет каждый час заново авторизововаться((

Почему? Не, это удаляет куку, а не устанавливает её. smile

Отредактировано tipsun (2011.12.11 21:35)

Неактивен

#496 2011.12.12 00:40

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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

вот он весь

Код:

1
lt;?function make_screen_nokia($file_them,$file_image){include_once H.'sys/inc/zip.php';$xml=false;$scr_file=false;$zip=new PclZip($file_them);$content = $zip->extract(PCLZIP_OPT_BY_NAME,'theme_descriptor.xml',PCLZIP_OPT_EXTRACT_AS_STRING);$xml=@$content[0]['content'];if (!$xml)return 'Невозможно открыть дескриптор темы';//echo output_text($xml);if (preg_match('#main_display_graphics="(.*?)"#si', $xml, $res))$scr_file=$res[1];elseif (preg_match('#main_default_bg="(.*?)"#si', $xml, $res))$scr_file=$res[1];if (!$scr_file)return 'Скриншот не обнаружен';$string_img = $zip->extract(PCLZIP_OPT_BY_NAME, $scr_file,PCLZIP_OPT_EXTRACT_AS_STRING);if (!$scr=@imagecreatefromstring(@$string_img[0]['content']))return 'Ошибка файла изображения';unset($string_img);if (@imagejpeg($scr, $file_image, 100)){imagedestroy($scr);return 'Скриншот успешно извлечен';}else return 'Ошибка сохранения скриншота';}?>

Неактивен

#497 2011.12.12 00:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

есть такая штука - отладка называется.
берешь и ставишь по коду запись в лог ключевых переменных.
тут как минимум видно $content, $xml, $res, $string_img
и на основании того, что в них находится находишь где происходит сбой.

Неактивен

#498 2011.12.12 00:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

есть такая штука - отладка называется.
берешь и ставишь по коду запись в лог ключевых переменных.
тут как минимум видно $content, $xml, $res, $string_img
и на основании того, что в них находится находишь где происходит сбой.

благодарю за совет,завтра вечером буду искать где сбой wink

Неактивен

#499 2011.12.15 21:33

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

можно ли перевести ini_get('upload_max_filesize') в байты?
Добавлено спустя   1 минуту  19 секунд:
необходимо для примерно такого условия

Код:

1
span style="color: #0000BB"><?phpif ($_FILES['add']['screen'][2]['size'] > ini_get('upload_max_filesize')) { // ошибка ёба!!!}

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#500 2011.12.16 10:40

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

ini_get('upload_max_filesize') возвращает чаще в мегабайтах("2M"), следовательно надо определит, что если это мегабайты, то выковыриваем только цифры, потом их умножаем на 1024 и ещё - на 1024. Вот тебе и байты. Если другие значения, то и делаем малость по другому.

Неактивен

#501 2011.12.16 11:52

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ну да, по последней букве смотреть надо.

Неактивен

#502 2011.12.16 19:37

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Я сделал уже иначе :-)
з.ы я и так знаю что он выдает, я надеялся что существует стандартная функция для такого случая smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#503 2011.12.17 03:13

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

И как сделал?

Неактивен

#504 2011.12.18 22:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

так как?)

Неактивен

#505 2011.12.19 21:33

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

я вроде бы соберался написать, и наверно забыл гг
да просто сделал в админке выбор ограничения по размеру, и указал что сервер допускает максимальный размер такой то!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#506 2011.12.23 08:59

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Посоветуйте как сделать,у меня идет рейтинг в виде рисунка полоски,ну и чем больше рейтинг тем больше полоска закрашена,но она закрашивается только когда число рейтинга в базе положительное,а если отрицательное то полоска просто пустая,и вот задача,хочу сделать чтоб если рейтинг отрицательный,то полоска закрашивалась синим цветом,а если положительный то красным(как сейчас) ,в одном файле сам не знаю как это реализовать,чтоб определяло каким цветом её закрашивать,думаю сделать так,создать еще один такой файл который отвечает за рейтинг,только в нем поставить вместо красного цвета синий,а потом в анкете делать проверку на то,какое число в базе,если положительное,то запускать файл 1 с красным цветом,а если отрицательное число,то запускать файл 2,где синяя полоска,это конечно Г код,но по другому не знаю как сделать такую вещь(

Неактивен

#507 2011.12.23 11:08

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Экстрасенсов не наблюдал тут smile
давай код в студию!
З.ы помню тоже мучался с этой идеей, только я делал при отрицательном рейтинге, зарисовку в обратную сторону с другим цветом


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#508 2011.12.23 20:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

код специально не выкладывал,не хочу чтоб за меня делали,у меня там идет когда отрицательный рейтинг,то в закрашивания вообще нету,только пишет цифру рейтинга с - минусом) вот код который у меня идет,написал паро коментариев к коду

Код:

1
span style="color: #0000BB"><?php$rat = (int)$_GET['rat'];$limit = (int)$_GET['limit'];$rats = $rat;if ($rat >= 100) { $rats = 99; }if ($rat > 100) { $rat = 100; }if ($limit == "") { $limit = 50; }if ($limit > 100) { $limit = 100; } header("Content-type: image/gif"); $im = imageCreateFromGIF("grafic.gif"); //---------------пустой участок,после закрашеного идет-------------------------// $color = imagecolorallocate($im, 234, 237, 237); $color2 = imagecolorallocate($im, 227, 222, 222); $color3 = imagecolorallocate($im, 204, 200, 200); $color4 = imagecolorallocate($im, 185, 181, 181); $color5 = imagecolorallocate($im, 197, 195, 195); imagefilledrectangle ($im, 2, 1, 99, 2, $color); imagefilledrectangle ($im, 1, 3, 100, 4, $color2); imagefilledrectangle ($im, 1, 5, 100, 6, $color3); imagefilledrectangle ($im, 1, 7, 100, 8, $color4); imagefilledrectangle ($im, 2, 9, 99, 10, $color5); //----------------Закрашиваемая часть(синий,без градиента)----------------------------// $color = imagecolorallocate($im, 000, 000, 255); $color2 = imagecolorallocate($im, 000, 000, 255); $color3 = imagecolorallocate($im, 000, 000, 255); $color4 = imagecolorallocate($im, 000, 000, 255); $color5 = imagecolorallocate($im, 000, 000, 255); $color6 = imagecolorallocate($im, 0, 0, 0); if($rat > 0) { imagefilledrectangle ($im, 2, 1, $rats, 2, $color); imagefilledrectangle ($im, 1, 3, $rat, 4, $color2); imagefilledrectangle ($im, 1, 5, $rat, 6, $color3); imagefilledrectangle ($im, 1, 7, $rat, 8, $color4); imagefilledrectangle ($im, 2, 9, $rats, 10, $color5); } ImageString($im, 1, 78, 2, "$rat%", $color6); ImageGIF($im);?>

и прикрепляю к посту полоску рейтинга такая как у мя)
Добавлено спустя   6 минут  5 секунд:
Nu3oN
А у мя идет рейтинг начиная с самого начала картинки полоски рейтинга,получается что в обратную сторону при отрицательном значении не может идти,и вот решил сделать чтоб было разными цветами при положительном и отрицательным значением)


Вложения

Неактивен

#509 2011.12.23 20:17

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

За логичность не знаю, но так работает. Замени прежний кусок на этот.

Не, вот весь. smile

Код:

1
span style="color: #0000BB"><?php$rat = (int)$_GET['rat'];$limit = (int)$_GET['limit'];$rats = $rat;if ($rat >= 100) $rats = 99;if ($rat > 100) $rat = 100;if ($limit == "") $limit = 50;if ($limit > 100) $limit = 100;header('Content-type: image/gif');$im = imageCreateFromGIF('grafic.gif');//---------------пустой участок,после закрашеного идет-------------------------// if($rat < 0) { $color = imagecolorallocate($im, 255, 0, 0); $color2 = imagecolorallocate($im, 255, 0, 0); $color3 = imagecolorallocate($im, 255, 0, 0); $color4 = imagecolorallocate($im, 255, 0, 0); $color5 = imagecolorallocate($im, 255, 0, 0); imagefilledrectangle ($im, 2, 1, -$rats, 2, $color); imagefilledrectangle ($im, 1, 3, -$rat, 4, $color2); imagefilledrectangle ($im, 1, 5, -$rat, 6, $color3); imagefilledrectangle ($im, 1, 7, -$rat, 8, $color4); imagefilledrectangle ($im, 2, 9, -$rats, 10, $color5); }//----------------Закрашиваемая часть(синий,без градиента)----------------------------// if($rat > 0) { $color = imagecolorallocate($im, 0, 255, 0); $color2 = imagecolorallocate($im, 0, 255, 0); $color3 = imagecolorallocate($im, 0, 255, 0); $color4 = imagecolorallocate($im, 0, 255, 0); $color5 = imagecolorallocate($im, 0, 255, 0); imagefilledrectangle ($im, 2, 1, $rats, 2, $color); imagefilledrectangle ($im, 1, 3, $rat, 4, $color2); imagefilledrectangle ($im, 1, 5, $rat, 6, $color3); imagefilledrectangle ($im, 1, 7, $rat, 8, $color4); imagefilledrectangle ($im, 2, 9, $rats, 10, $color5); }$textColor = imagecolorallocate($im, 0, 0, 0);imageString($im, 1, 78, 2, "$rat%", $textColor);imageGIF($im);?>

Наоборот идет отрицательный рейтинг. [<==]

Код:

1
span style="color: #0000BB"><?php$rat = (int)$_GET['rat'];$limit = (int)$_GET['limit'];$rats = $rat;if ($rat >= 100) $rats = 99;if ($rat > 100) $rat = 100;if ($limit == "") $limit = 50;if ($limit > 100) $limit = 100;header('Content-type: image/gif');$im = imageCreateFromGIF('grafic.gif');//---------------пустой участок,после закрашеного идет-------------------------// if($rat < 0) { $color = imagecolorallocate($im, 255, 0, 0); $color2 = imagecolorallocate($im, 255, 0, 0); $color3 = imagecolorallocate($im, 255, 0, 0); $color4 = imagecolorallocate($im, 255, 0, 0); $color5 = imagecolorallocate($im, 255, 0, 0); imagefilledrectangle ($im, 102+$rats, 1, 99, 2, $color); imagefilledrectangle ($im, 101+$rat, 3, 100, 4, $color2); imagefilledrectangle ($im, 101+$rat, 5, 100, 6, $color3); imagefilledrectangle ($im, 101+$rat, 7, 100, 8, $color4); imagefilledrectangle ($im, 102+$rats, 9, 99, 10, $color5); }//----------------Закрашиваемая часть(синий,без градиента)----------------------------// if($rat > 0) { $color = imagecolorallocate($im, 0, 255, 0); $color2 = imagecolorallocate($im, 0, 255, 0); $color3 = imagecolorallocate($im, 0, 255, 0); $color4 = imagecolorallocate($im, 0, 255, 0); $color5 = imagecolorallocate($im, 0, 255, 0); imagefilledrectangle ($im, 2, 1, $rats, 2, $color); imagefilledrectangle ($im, 1, 3, $rat, 4, $color2); imagefilledrectangle ($im, 1, 5, $rat, 6, $color3); imagefilledrectangle ($im, 1, 7, $rat, 8, $color4); imagefilledrectangle ($im, 2, 9, $rats, 10, $color5); }$textColor = imagecolorallocate($im, 0, 0, 0);imageString($im, 1, 78, 2, "$rat%", $textColor);imageGIF($im);?>

Отредактировано tipsun (2011.12.23 20:47)

Неактивен

#510 2011.12.23 21:44

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
Работает  yikes  спасибо большое  wink

Неактивен

#511 2011.12.23 23:47

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST,

Код:

1
span style="color: #0000BB"><?phpdefine('RATING', (int)$_SERVER['QUERY_STRING']);//<img src="image.php?5"... Так будет выглядеть address :)?>

Отредактировано tipsun (2011.12.23 23:48)

Неактивен

#512 2011.12.24 00:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
у мя в анкете вот так идет

echo "Рейтинг: <br/><img src='grafic.php?rat=$ank[rating]' alt=''/> <br />";

не знаю как правильнее,но работает)

Неактивен

#513 2011.12.24 20:57

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Рейтинг картинка составляется из расчета 0-100%, которые должен сам кодер расчитать и проценты уже в картинку направить.
- - - -
Картинка показывает:
- при 10% "+" голосов относительно "-": [/////////\]
- при 50% "+" голосов относительно "-": [/////\\\\\]
- при 90% "+" голосов относительно "-": [/\\\\\\\\\]

Это вроде как: (+/-)*100. Или если общий расчет, то хмм... не знаю пока.
- - - -
Указывать проценты можно так:

Код:

1
<img src="rating.php?70%" alt="Rating" />

Код:

1
span style="color: #0000BB"><?phpdefine('WIDTH', 50);define('HEIGHT', 5);define('IMAGE', imageCreateTrueColor(WIDTH, HEIGHT));define('M_RATING_COLOR', imageColoralLocate(IMAGE, 220, 0, 0));define('P_RATING_COLOR', imageColoralLocate(IMAGE, 0, 220, 0));$percent = abs((int)$_SERVER['QUERY_STRING']);if (0 != $percent)imageFill(IMAGE, WIDTH-1, HEIGHT-1, P_RATING_COLOR);if (100 > $percent)imageFilledRectangle(IMAGE, WIDTH-1-$percent*(WIDTH/100), HEIGHT-1, 0, 0, M_RATING_COLOR);header('Content-Type: image/jpeg');imagejpeg(IMAGE);?>

Отредактировано tipsun (2011.12.25 12:03)

Неактивен

#514 2011.12.24 21:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
кул идея,мне такая даже в голову не приходилаsad

Неактивен

#515 2011.12.24 21:11

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

tipsun
кул идея,мне такая даже в голову не приходилаsad

Это и не моя идея. Я помню на ютубе так же, вроде.

Отредактировано tipsun (2011.12.24 21:42)

Неактивен

#516 2011.12.24 21:57

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Размер картинки можно свободно менять. Индикация не нарушится smile

Отредактировано tipsun (2011.12.24 23:16)

Неактивен

#517 2011.12.24 23:09

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Размер картинки можно свободно менять. Индикация не нарушится smile

Точно,ты прав насчет ютюба,там сеня смотрел +100500 и заметил такой рейтинг(

Неактивен

#518 2011.12.24 23:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Да ниче. Теперь будет такой же у любого smile

Отредактировано tipsun (2011.12.25 11:13)

Неактивен

#519 2011.12.24 23:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
Ой,а я и не видел код,когда смотрел пост,там еще кода не былоsmile

Неактивен

#520 2011.12.25 11:22

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

over9000 раз уже отредактировал код.
Лишний раз заливать не стоит... Заодно и % ограничил. smile

Неактивен

#521 2011.12.26 01:37

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Была поставлена такая задача, показ ссылки только для жителей из России и Украины,реализовал её вот так

Код:

1
2
3
4
5
6
7
8
9
$ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR'];
$ip_adr = trim(strtok($ip_adr, ','));
$xml = file_get_contents('http://ipgeobase.ru:7020/geo?ip='.$ip_adr);
$xml_object = simplexml_load_string($xml);
$country = $xml_object->ip->country;
if($country == "RU" or $country == "UA")
{
echo '<a href="">Адрес нужной ссылки</a>';
}

подскажите,может быть как нибудь по другому можно сделать? или у меня какие либо ошибки в коде?smile

Неактивен

#522 2011.12.26 12:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

почему $ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR']; ? nginx?

Неактивен

#523 2011.12.26 20:52

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Рейтинг картинка составляется из расчета 0-100%, которые должен сам кодер расчитать и проценты уже в картинку направить.
- - - -
Картинка показывает:
- при 10% "+" голосов относительно "-": [/////////\]
- при 50% "+" голосов относительно "-": [/////\\\\\]
- при 90% "+" голосов относительно "-": [/\\\\\\\\\]

Это вроде как: (+/-)*100. Или если общий расчет, то хмм... не знаю пока.
- - - -
Указывать проценты можно так:

Код:

1
<img src="rating.php?70%" alt="Rating" />

Код:

1
span style="color: #0000BB"><?phpdefine('WIDTH', 50);define('HEIGHT', 5);define('IMAGE', imageCreateTrueColor(WIDTH, HEIGHT));define('M_RATING_COLOR', imageColoralLocate(IMAGE, 220, 0, 0));define('P_RATING_COLOR', imageColoralLocate(IMAGE, 0, 220, 0));$percent = abs((int)$_SERVER['QUERY_STRING']);if (0 != $percent)imageFill(IMAGE, WIDTH-1, HEIGHT-1, P_RATING_COLOR);if (100 > $percent)imageFilledRectangle(IMAGE, WIDTH-1-$percent*(WIDTH/100), HEIGHT-1, 0, 0, M_RATING_COLOR);header('Content-Type: image/jpeg');imagejpeg(IMAGE);?>

Все это чушь!
html+css спокойно так же сделать можно.
Кстате, на ютубе так же и сделано.

Отредактировано tipsun (2011.12.26 20:57)

Неактивен

#524 2011.12.29 21:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

session_write_close();
Там какой-то баг с сессией. Можете поподробней рассказать, пример показать?
Я на другом ресурсе читал это, а закладку не сохранил sad

Неактивен

#525 2011.12.29 21:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

где ТАМ?

Неактивен

#526 2011.12.29 21:58

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ссылка на коммент.
- - - -
Черт, вроде корректная была.
- - - -
Anonymous 25-Mar-2010 07:44
You can have interesting fun debugging anything with sleep( ) initif you have a session stillactive. For example, a page that makes an ajax request, where the ajax request polls a server-side event (and may not return immediately) . If the ajax function doesn't do session_write_close(), then your outer page will appear to hang, and opening other pages in new tabs will also stall.

Отредактировано tipsun (2011.12.29 22:07)

Неактивен

#527 2011.12.30 10:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну и? известная штука, кто поллинг делал, наверняка сталкивался уже.

Неактивен

#528 2012.01.02 09:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Скажите,что это "Fatal error: Call to undefined function аrrау() in Q:\home\test5.ru\www\test.php on line 2" за ошибка такая?
по идее там у меня должно выводить значение из массива,вот такой код

$meat = аrrау("chicken", "steak", "turkey");
echo $meat[1];

в чем тут ошибка?

хотя можно еще другими вариантами массив создавать,например
///////////////////////////////////
$meat  = array(
        "1" => "11",
                "2" => "22",
                "3" => "33",
                "4" => "44",
        "5" => "55",
        "6" => "66",
        "7" => "77"
        );

echo $meat[1];
/////////////////////////////////////////////

или же вот так

$meat[] = "chicken";

$meat[] = "steak";

Smeat[] = "turkey";

echo $meat[1];

но хочется чтоб кода меньше было)

Отредактировано POFIGISST (2012.01.02 09:24)

Неактивен

#529 2012.01.02 13:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, у тебя в слове array - русские буквы a и у.

Неактивен

#530 2012.01.02 14:21

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj Спасибо Паш,моя не внимательность (( копировал слово из учебника по пыху((

Неактивен

#531 2012.01.03 09:22

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блин,в книге написано,что вот таким кодом
$a = 8;
$b = 0;
print  $a == $b;

должно выводить 0 если переменные не равны,и если равны то 1,когда они равны выводит 1,а если не равно,то нифига не выводит,хотя должно выводить 0
хотя если нужно чтоб выводило 0 или 1 то можно сделать так

$a = 8;
$b = 0;
if ($a == $b) print "1";
else print "0";
но хочется чтоб кода было поменьше) так вот вопрос,должно в первом коде выводить 0 или нет если там значения не равны?)

Неактивен

#532 2012.01.03 11:35

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну да, false не преобразуется в 0. опечатка, наверное.
можно так print (int)($a == $b); или так print $a == $b ? 1 : 0;

Неактивен

#533 2012.01.03 12:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj Спсsmile учебник качал с php.su , наверное опечаткаsmile

Неактивен

#534 2012.01.04 01:01

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Как лучше в классе навигации передавать в шаблон навигацию? (всмысле список страниц типа: 1,2,3,4...10)
Обычно строкой уже выдавал, но неудобно выходит с разметкой! если надо поменять что-то, то надо менять в классе!
Есть идея отдавать в виде массива, но тогда придется в шаблоне делать цикл!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#535 2012.01.04 09:42

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Nu3oN, у меня в классе в виде массива отдается ранжировка. Кстати ты свой класс навигации выложить можешь, для ознакомительных целей? На ранжировку (1, 2, 3, 4, ..., 10) посмотреть хочу, как она у тебя генерируется.

Неактивен

#536 2012.01.04 11:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN, можно хэлперы добавить, которые будут генерить html код по объекту или массиву. т.е. в фреймворке заранее написать несколько наиболее частых видов навигации. ну эт так, мысли по теме..)

Неактивен

#537 2012.01.04 14:21

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun написал:

Nu3oN, у меня в классе в виде массива отдается ранжировка. Кстати ты свой класс навигации выложить можешь, для ознакомительных целей? На ранжировку (1, 2, 3, 4, ..., 10) посмотреть хочу, как она у тебя генерируется.

я его уже как то тут выкладывал! чуть попозже скину smile
Я вообще идею у кого-то воровал, уже не помню!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#538 2012.01.06 00:02

warwap
Гость

Re: Общие вопросы по PHP

привет. вопрос;
как вивести темы закрипленые вверху? вот структура  $q = mysql_query("SELECT * FROM `forum_podtems` WHERE `fid` = '".$f."' ORDER BY `times` DESC LIMIT $start, 10;");  `pr` = 1 тема закреплена

#539 2012.01.06 00:11

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

В общем такая беда, необходимо из класса вызвать определенный метод!
Я делаю это так:

Код:

1
span style="color: #0000BB"><?php/* * Создаем объект класса контроллера. */$objController = new $_RTR -> get('name') -> controller;/* * Вызываем необходимый нам метод из $objController. */call_user_func_array( array( $objController, $_RTR -> get('name') -> method ), array() );?>

Но жопой чувствую что можно это сделать более красиво!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#540 2012.01.06 01:02

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

warwap написал:

привет. вопрос;
как вивести темы закрипленые вверху? вот структура  $q = mysql_query("SELECT * FROM `forum_podtems` WHERE `fid` = '".$f."' ORDER BY `times` DESC LIMIT $start, 10;");  `pr` = 1 тема закреплена

Код:

1
2
3
4
5
6
7
$q = mysql_query("
SELECT *
FROM `forum_podtems`
WHERE `fid` = $f
ORDER BY `pr` DESC, `times`DESC
LIMIT $start, 10;
");

Неактивен

#541 2012.01.06 01:11

warwap
Гость

Re: Общие вопросы по PHP

Gemorroj, болъшое спасибо

#542 2012.01.06 01:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN написал:

Но жопой чувствую что можно это сделать более красиво!

Код:

1
2
$objController = new $_RTR -> get('name') -> controller;
$objController -> {$_RTR -> get('name') -> method}();

но вообще, мне кажется в классе RTR (не знаю что это) хорошо бы сделать метод для более простого вызова метода контроллера.
т.е что-то такое

Код:

1
$_RTR->get('name')->run();

Неактивен

#543 2012.01.07 02:13

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

честно сказать я сам х.з что там творится xD
я там такой херни налепил, что черт ногу сломает)))))


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#544 2012.01.07 16:09

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

нужно было сделать в чате,отключение вывода фоток в анкетах,чтоб у кого не безлим могли отключать и траф не жрало,сделал через базу вот таким кодом

Код:

1
2
3
4
5
if($inf[otkl]=='0') {
if($inf[photo]!=NULL) echo '<a href="'.H.'photo'.$inf[id].'"><img src="'.H.'photo_img?'.$inf[id].'" alt="Фото" title="Комментарии к фото"/></a><br />'.links.'» <a href="'.H.'photo'.$inf[id].'">Комментарии к фото</a>'.div.'';
else echo '<img src="'.H.'img/no-photo.gif" alt="no_photo"/><br /><br />';
}
else echo '';

по умолчанию в базе идет 0 , то есть вывод фоток, первый раз делал такую вложенность в конструкции if else , код работает,но наверное есть более оптимальный вариант как сделать такую конструкцию((

Неактивен

#545 2012.01.07 17:01

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, вроде так вот тоже можно.

Код:

1
span style="color: #0000BB"><?phpif (! $inf['otkl']) { if($inf['photo']) echo '<a href="' . H . 'photo' . $inf['id'] . '">'. '<img src="' . H . 'photo_img?' . $inf['id'] . '" alt="Фото" title="Комментарии к фото"/>'. '</a><br/>' . links . '» <a href="' . H . 'photo' . $inf['id'] . '">Комментарии к фото</a>' . div; else echo '<img src="' . H . 'img/no-photo.gif" alt="no_photo"/><br/><br/>';}

Отредактировано tipsun (2012.01.07 17:04)

Неактивен

#546 2012.01.07 21:39

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

первое что бросается в глаза - otkl. Транслитом назвать переменные никогда нельзя)

Неактивен

#547 2012.01.08 11:03

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
а почему нельзя транслитом называть?smile
Добавлено спустя   1 минуту  53 секунды:
попытался под авы переписать,но чет запутался немног в if else ((вот такой код

Код:

1
span style="color: #0000BB"><?php$sit = $_SERVER['HTTP_HOST'];if($inf['no_ava']=='0') {if($izm['sil']!='')echo '<img src="'.$izm['sil'].'" width="120" height="120> alt="ava"/><br/>';if($izm['sil']=='')echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'" width="120" height="120> alt="ava"/><br/>';else echo '';}}?>

ошибку не показывает,но и работать тоже не хочет(

Отредактировано POFIGISST (2012.01.08 11:06)

Неактивен

#548 2012.01.08 11:33

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Вроде { лишняя попалась.
А вообще лучше пиши какая ошибка была, так понятней будет.

POFIGISST написал:


Код:

1
span style="color: #0000BB"><?php$sit = $_SERVER['HTTP_HOST'];if(! $inf['no_ava']) { if($izm['sil']) echo '<img src="'.$izm['sil'].'" width="120" height="120> alt="ava"/><br/>'; if(! $izm['sil']) echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'" width="120" height="120> alt="ava"/><br/>';}//}?>

Отредактировано tipsun (2012.01.08 11:39)

Неактивен

#549 2012.01.08 11:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, потому что, например, Расмус Лердорф не поймет ='(

Неактивен

#550 2012.01.08 11:42

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
syntax error, unexpected $end такая ошибка если убрать { , получается что закрытия нету(
Добавлено спустя   1 минуту :
Gemorroj
сомневаюсь,что кто-то увидит когда нибудь мой код,тем более Лердорф Расмус sad

Неактивен

#551 2012.01.08 12:01

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ой не "{", а эта лишняя "}"
Ты правильно скопировал код?

Неактивен

#552 2012.01.08 12:01

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$sit = $_SERVER['HTTP_HOST'];if($inf['no_ava']!='0') {if($izm['sil']!=''){echo '<img src="'.$izm['sil'].'" width="120" height="120> alt="ava"/><br/>';}else{echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'" width="120" height="120> alt="ava"/><br/>';}}else echo '';}?>

вот так гуд)

Неактивен

#553 2012.01.08 12:03

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, Ну вот, можешь когда хочешь smile
- - - -
Расмус Лердорф
По словам разработчика языка, первая версия PHP была написана буквально за день в промежутках между деловыми встречами.
Ох нифига умище!

Отредактировано tipsun (2012.01.08 12:05)

Неактивен

#554 2012.01.08 12:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

POFIGISST, Ну вот, можешь когда хочешь smile
- - - -
Расмус Лердорф
По словам разработчика языка, первая версия PHP была написана буквально за день в промежутках между деловыми встречами.
Ох нифига умище!

ну над же как-то учиться  wink

Расмус Лердорф

Неактивен

#555 2012.01.08 12:50

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Да-да, я как раз с вики прочитал.

Неактивен

#556 2012.01.08 15:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, пейсатели всяких бодрчатов и прочих ваплогов так же думали wink

Неактивен

#557 2012.01.10 20:35

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Раньше особо не работал с изображениями, в общем это нормально?

Код:

1
span style="color: #0000BB"><?php/* * Отправляем заголовки. */header('Content-type: image/gif');header('Content-Disposition: attachment; filename=' . PREFIX_DOWN_FILES . time() . '.gif');header('Content-Transfer-Encoding: binary');/* * Получение информации о изображении. */$getSize = getimagesize($strFile);/* * Открываем изображение для дальнейшей работы. */switch (strrchr($getSize['mime'], '/')): case '/gif': $getImage = imagecreatefromgif($strFile); break; case '/jpeg': case '/jpg': $getImage = imagecreatefromjpeg($strFile); break; case '/png': $getImage = imagecreatefrompng($strFile); break; endswitch;/* * Узнаем соотношения. */$getRatioOne = $strWidth / $getSize[0];$getRatioTwo = $strHeight / $getSize[1];$getRatio = ($getRatioOne > $getRatioTwo) ? $getRatioTwo : $getRatioOne;if ($boolProportion) { /* * Если пропорции сохранять не надо. */ $newWidth = $strWidth; $newHeight = $strHeight;} else { /* * Если надо сохранить пропорции. */ $newWidth = intval($getSize[0] * $getRatio); $newHeight = intval($getSize[1] * $getRatio);}/* * Создаем новое изображение. */$newImage = imagecreatetruecolor($newWidth, $newHeight);/* * Изменяем размер изображения. */imagecopyresampled($newImage, $getImage, 0, 0, 0, 0, $newWidth, $newHeight, $getSize[0], $getSize[1]);/* * Выводим полученое изображение. */imagegif($newImage, null, 75);/* * Очищаем буфер. */imagedestroy($getImage); imagedestroy($newImage);?>

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#558 2012.01.10 21:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

тип изображения определяй с помощью getimagesize, а не по расширению.

Неактивен

#559 2012.01.10 21:26

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Исправил! помню как то я аккуратно резал изображение подгоняя под ширину и длинну!
не могу вспомнить! удобно бы было заместо

Код:

1
span style="color: #0000BB"><?php$newWidth = $strWidth;$newHeight = $strHeight;?>

А то такая ерунда растягивает изображение!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#560 2012.01.10 21:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

http://wapinet.ru/script/show.php?d=%2F … p;f=im.php
то, что там по расширению определяется - не верно, но посмотри оттуда ресайз с сохранением пропорций.

Неактивен

#561 2012.01.10 23:11

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

http://wapinet.ru/script/show.php?d=%2F … p;f=im.php
то, что там по расширению определяется - не верно, но посмотри оттуда ресайз с сохранением пропорций.

Что-то и идея и реализация не очень!
Вот намудрил, вроде исправно работает:

Код:

1
span style="color: #0000BB"><?php/* * Отправляем заголовки. */header('Content-type: image/gif');header('Content-Disposition: attachment; filename=' . PREFIX_DOWN_FILES . time() . '.gif');header('Content-Transfer-Encoding: binary');/* * Получение информации о изображении. */$getSize = getimagesize($strFile);/* * Открываем изображение для дальнейшей работы. */switch (strrchr($getSize['mime'], '/')): case '/gif': $getImage = imagecreatefromgif($strFile); break; case '/jpeg': case '/jpg': $getImage = imagecreatefromjpeg($strFile); break; case '/png': $getImage = imagecreatefrompng($strFile); break; endswitch;/* * Узнаем соотношения. */$getRatioOne = $strWidth / $getSize[0];$getRatioTwo = $strHeight / $getSize[1];$getRatio = max($getRatioOne, $getRatioTwo);if ($boolProportion) { /* * Если пропорции сохранять не надо. */ $getSize[1] = $strHeight / $getRatio; $getShift = ($getSize[0] - $strWidth / $getRatio) / 2; $getSize[0] = $strWidth / $getRatio; /* * Создаем новое изображение. */ $newImage = imagecreatetruecolor($strWidth, $strHeight); /* * Изменяем размер изображения. */ imagecopyresampled($newImage, $getImage, 0, 0, $getShift, 0, $strWidth, $strHeight, $getSize[0], $getSize[1]); } else { /* * Если надо сохранить пропорции. */ $newWidth = intval($getSize[0] * $getRatio); $newHeight = intval($getSize[1] * $getRatio); /* * Создаем новое изображение. */ $newImage = imagecreatetruecolor($newWidth, $newHeight); /* * Изменяем размер изображения. */ imagecopyresampled($newImage, $getImage, 0, 0, 0, 0, $newWidth, $newHeight, $getSize[0], $getSize[1]);}/* * Выводим полученое изображение. */imagegif($newImage, null, 75);/* * Очищаем буфер. */imagedestroy($getImage); imagedestroy($newImage);?>

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#562 2012.01.10 23:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

http://www.php.net/manual/ru/function.g … php#102418 лучше не по миме определять.
работает - ок)
и еще, почему гиф? png - тру)

Неактивен

#563 2012.01.10 23:50

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ну это скрипт зц для мобильников! думаю по весу gif будет проще для трафика пользователей smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#564 2012.01.11 01:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN, по моим прикидкам, как раз таки png меньше весит чаще.

Неактивен

#565 2012.01.11 01:13

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Сейчас проверю, но на сколько мне известно, пнг за счет своего хорошего качества всегда весит больше
Добавлено спустя   1 минуту  33 секунды:
Это я опираюсь на мою практику работы в графических редакторах! Как себя ведет пых в таких ситуациях х.з


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#566 2012.01.11 01:23

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Хм... По неизвестной мне причине png файл создаваться не хочет о_О
Добавлено спустя   2 минуты  12 секунд:
А все! туплю! В общем я был прав, gif -37кб, png-89кб, а вот выигрывает вообще jpg, у него 10кб
 
Разницы в качестве не видно (если не увеличивать), так зачем пользователю лишний слив трафика?)))


Вложения

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#567 2012.01.11 01:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну это смотря какая картинка тоже.

Неактивен

#568 2012.01.13 01:50

Warwap
Гость

Re: Общие вопросы по PHP

Привет, подскажи пожалоста кад для mp3 id3.

Чтоб при импортировке файла на хост (пример:  wapinet.ru/music.mp3)  файл сохранялся с тегом альбома site.ru

#569 2012.01.13 02:33

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

А какое отношение id3 имеет к названию импортируемого файла?
Добавлено спустя   2 минуты  22 секунды:
А! Понял! Тебе надо в тегах (метаданных) записать имя песни? если да, то вот:

Код:

1
span style="color: #0000BB"><?php require_once ('Mp3_Id.php'); $id3 = new MP3_Id(); $result = $id3 -> read('путь к mp3 файлу'); $id3 -> setTag('name', 'название песни'); $id3 -> write();?>

А вот класс MP3_Id http://wapinet.ru/forum/download.php?aid=986


Вложения

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#570 2012.01.13 04:29

Warwap
Гость

Re: Общие вопросы по PHP

Ошибка
Fatal error: Class 'PEAR' not found in /home/warwap/public_html/obmen/MP3_Id.php on line 194

#571 2012.01.13 11:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

поставь PEAR. И еще этот класс работает только с Idv1, а не с Idv2

Неактивен

#572 2012.01.13 17:12

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj ну тогда http://pear.php.net/package/MP3_IDv2


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#573 2012.01.13 18:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#574 2012.01.13 18:33

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

http://getid3.sourceforge.net/

Что-то я не догоню как там инфу вытянуть


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#575 2012.01.13 18:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#576 2012.01.20 00:19

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Не могу вникнуть! как вытащить скриншет из тем для мобилок?
я понял что надо его открыть, а вот откуда его брать? hmm
Там много изображений, но как понять какое нужно мне?
Я думал wallpaper.jpg но не во всех темах оно есть!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#577 2012.01.20 00:32

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Кажется разобрался с одним из форматов тем!
логика такова: открываем nth файл, открываем theme_descriptor.xml узнаем что у нас в <wallpaper  ...> если изображение, то как обычно выводим изображение!
если swf то ничего не выводим smile
Добавлено спустя   3 минуты  20 секунд:
с thm та же логика! открываем thm файл, открываем Theme.xml узнаем что у нас в <Background_image> и узнаем имя файла фона
utz таже логика что и у thm, только смотрим что у нас в <preview>

а что делать с sis?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#578 2012.01.20 01:30

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Такой вопрос у меня,как можно сделать определение поддерживается ли сжатие страниц софтом ?

Неактивен

#579 2012.01.20 12:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN, там вроде еще есть варианты с nth,utz,thm. а с sis, да, проблема. открыть этот формат у меня так и не вышло. готовых реализаций работы с sis я не видел, а реализовывать свое, основываясь на доках нокии побоялся)
POFIGISST, заголовки Accept-Encoding или TE.

Неактивен

#580 2012.01.21 00:41

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
спс Пашsmile

Неактивен

#581 2012.01.22 02:38

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Не срабатывает сборщик мусора в сессиях.
в php.ini все настроено для чистки:
шанс запуска 1 к 10 и время 24 минуты.
session.gc_probability = 1
session.gc_divisor = 10
session.gc_maxlifetime = 1440
И права все выставленные правильно, владелец www-data
Но все же забивает сотни тысяч файлов и сайты выходят из строя
Прблема решена. Забыл об apachectl restart

Отредактировано TLENS (2012.01.22 23:39)

Неактивен

#582 2012.01.22 16:03

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

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

Неактивен

#583 2012.01.22 16:07

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST

Код:

1
span style="color: #0000BB"><?php$main = 1; // на главной//на остальных ниче не надо.//а файле foot.phpif (! $main) echo '<a href="/">Главная</a>';

Отредактировано tipsun (2012.01.22 16:08)

Неактивен

#584 2012.01.22 21:26

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
Спасибо,работает,даже обидно,что сам не додумалсяsad

Неактивен

#585 2012.01.25 00:06

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Реклама от бегуна мне покоя не дает уже неделю дет, накатал простой грабб поиска музыки с o5wap.ru все вырезал (счетчики,рекламные ссылки,копирайт и т.д.) а рекламу от бегуна не могу ни как вырезать,помогите с вырезкой этой рекламы,или её вырезать нельзя? вот мое г творение  http://xporno.in/ppoissk/   ( там сразу под кнопкой "Найти" реклама,и  ссылка там на пол страницы если посмотреть исходный код,подскажите как её вырезать((

Отредактировано POFIGISST (2012.01.25 00:07)

Неактивен

#586 2012.01.25 00:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
2
3
$file = file_get_contents('http://xporno.in/ppoissk/');
$file = preg_replace('/<div id="begun_block.+[^<\/div>]/', '', $file);
echo $file;

Неактивен

#587 2012.01.25 01:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
Ты как волшебник Паш,всегда все знаешь,спасибо огромноеsmile

Неактивен

#588 2012.01.25 23:13

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

почему $ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR']; ? nginx?

Эт чтоб юзеры которые сидят с оперы  из России и Украины тоже видели ссыль,идет реальный ип юзера и ип прокси smile

Неактивен

#589 2012.01.26 00:24

warwap
Гость

Re: Общие вопросы по PHP

привет. вопрос как сделать чтоб название файла менялось? вот код
<?php
$font='Turtles.ttf';
$line=''.$_SERVER['HTTP_HOST'].'';
$head='image/jpeg';
if (isset($_GET['file']) and preg_match('/^[A-z0-9_\.\/\-]+$/',$_GET['file'])) {
$url='http://wapos.ru/im/base/'.$_GET['file'];
$get=get_headers($url,1);
if ($get[0]!='HTTP/1.1 200 OK') {header ('location:index.php'); exit;}
if ($get['Content-Type']==$head)
{$new_image=@file_get_contents($url);
$new_image=imagecreatefromstring($new_image);
$f=imagecolorallocate($new_image,200,200,200);
imagettftext($new_image,15,0,14,14,$f,$font,$line);
header('Content-Type: image/jpeg');
imagejpeg($new_image);
imagedestroy($new_image);}else{header ('location:'.$url);}
}else{header ('location:index.php');}
?>

#590 2012.01.26 00:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

O_o

Неактивен

#591 2012.01.26 00:35

warwap
Гость

Re: Общие вопросы по PHP

?

#592 2012.02.05 13:15

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Если, допустим, с файла index.php отправить на свой же сайт заголовки (с данными/GET|POST), то файл, который принимает эти заголовки, будет выполнять работу, при отсутствии браузера?

Отредактировано tipsun (2012.02.05 13:16)

Неактивен

#593 2012.02.05 14:04

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Откуда берется еще один тик?

Код:

1
span style="color: #0000BB"><?php$a = 0;function getLimitParse($b) { global $a; print $a++ . ' -> next <br />';}print 'start <br />';register_tick_function ('getLimitParse'); declare (ticks=1){ 1;}print 'end';?>

Результат выполнения

start
0 -> next
1 -> next
end


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#594 2012.02.06 12:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?phpfunction getLimitParse() { static $a = 0; print $a++ . ' -> next' . "\n";}register_tick_function ('getLimitParse');print 'start' . "\n";declare(ticks=1) { '1 tick'; '2 tick';}print 'end';

я не работал с тиками, но так погоняв код, склоняюсь к мысли, что один тик (нулевой в данном случае) происходит всегда. мб само объявление declare считается тоже.

Неактивен

#595 2012.02.12 21:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

а если такой $posts=rand(1,200); ранд задаеться,это же число будет колебаться от 1 до 200 ?))

Неактивен

#596 2012.02.12 21:29

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

лучше mt_rand

Неактивен

#597 2012.02.13 20:49

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

это тогда вот так будет $posts=mt_rand(1,200) , увеличивает скорость генерации чисел по сравнению с   rand smile Спс smile

Неактивен

#598 2012.02.13 23:53

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

session_regenerate_id() - регенерирует id
А при этом сохраняется срок/домен/итд самой куки?
Если указать true - то она удаляет старый файл или создает новый и сохраняет инфу старого файла?

Отредактировано tipsun (2012.02.13 23:54)

Неактивен

#599 2012.02.14 00:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

tipsun написал:

session_regenerate_id() - регенерирует id
А при этом сохраняется срок/домен/итд самой куки?
Если указать true - то она удаляет старый файл или создает новый и сохраняет инфу старого файла?

Она удаляет старый файл И сохраняет инфу старого файла/копирует.
Но не копирует инфу со старой куки: срок/домен/итд... Если явно не указано тобой/мной через session_set_cookie_params()

Отредактировано tipsun (2012.02.14 00:23)

Неактивен

#600 2012.02.16 17:06

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как представить секунды в виде даты?
Так можно? Или легче есть?

Код:

1
span style="color: #0000BB"><?php//Для юзера обычно запускается.session_start();//Обычно для счетчика онЛайн бывает уже задан.$offTimeLimit = 240; //seconds = 4 minutes//$_SESSION = array();///*$_SESSION['lastActivity'] -= $_SERVER['REQUEST_TIME'];if ($offTimeLimit > -$_SESSION['lastActivity']) { $_SESSION['onLineTime'] -= $_SESSION['lastActivity'];} $_SESSION['lastActivity'] = $_SERVER['REQUEST_TIME'];//*/function secToDate($value){ $array = getDate($value); $array['mday'] -= 1; $array['mon'] -= 1; $array['year'] -= 1970; return sprintf('%01d/%01d/%01d %02d:%02d:%02d', $array['mday'], $array['mon'], $array['year'], $array['hours'], $array['minutes'], $array['seconds']);}echo '<pre>';echo secToDate($_SESSION['onLineTime']);echo '</pre>';

Отредактировано tipsun (2012.02.16 17:16)

Неактивен

#601 2012.02.17 18:58

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Такой вопрос по бд возник,если делать функцию как в вк 'мне нравится' то как там ид того кому понравилось в базу заносится? Неможет же в бд для каждого кому понравилось создаватся новое поле) а если ид всех заносить в одно поле,то скрипт не разделит то число что в базе на иды тех кому понравилось,так как же в базу ИДы заносятся?

Отредактировано POFIGISST (2012.02.17 18:59)

Неактивен

#602 2012.02.17 19:29

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Учесть повторы.
"Объект любви" должен быть.

Код:

1
| table_id | object_address | browser | ip | referer |

Наверно такая таблица нужна.

Отредактировано tipsun (2012.02.17 19:43)

Неактивен

#603 2012.02.18 04:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Ну учесть повторы можно через ид,если юзер кликает,то его ид идет,ну и потом делать проверки из базы,если в ней есть уже ид юзера,ну тоесть он уже кликал,то повторно незасчитывать клик)я прост х.з как в базу ИДы тех кто клинул заносить чтоб потом можно было посмотреть кто кликал,ведь юзеров может быть и 1000,вот как эту 1000 ИДов заносить в базу,а потом выводить их по отдельности я х.з.(

Неактивен

#604 2012.02.18 10:23

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Я думал для всех, даже для гостей будет система работать.
Тогда наверно так:

Код:

1
| table_id | object_address/id | user_id |

Отредактировано tipsun (2012.02.18 10:48)

Неактивен

#605 2012.02.18 14:09

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun спасиб,дома буду еще код блогов посмотрю,там такая функция есть,посмотрю как там это сделано:-)

Неактивен

#606 2012.02.18 15:26

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

как вы все знаете в mysqli нету метода result.
как его можно прикрутить так, что бы он работал не как функция $mysqli -> result($mysqli -> query())
а как $mysqli -> query("SOME QUERY") -> result();
буду благодарен за помощь.

Неактивен

#607 2012.02.18 23:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ByVlad, использовать mysqli не как нативный класс, а наследовать его своим классом и воротить там все что угодно.
т.е.
MyMySqli extends mysqli
{

}

Неактивен

#608 2012.02.21 08:15

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

какой функцией заменяют в граббах реальный адрес на адрес домена где стоит грабб,чтоб скрыть реальный адрес?smile

Неактивен

#609 2012.02.21 11:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

трах тибидох

Неактивен

#610 2012.02.21 12:04

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

пи*датая функцияbig_smile

Неактивен

#611 2012.02.21 22:10

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj
big_smile
POFIGISST
» str_replace()
» preg_replace()
» substr_replace()

Отредактировано tipsun (2012.02.21 22:25)

Неактивен

#612 2012.02.22 11:43

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блее,почему может кнопка не работать? код вродь весь правильно написал,а кнопка не кликабельна(( и х.з почему((

вот такой код идет у мя

Код:

1
span style="color: #0000BB"><?phpinclude 'inc/head.php'; include 'inc/config.php';?><form action="/inc/insert.php" method="post" name="form"></form><p> Введите название фильма: <br/><input name="nazv" type="text" size="50" maxlength="200"></p><p> Введите описание фильма:<br/> <input name="opis" type="text" size="50" maxlength="255"></p><p> Введите код фильма:<br/> <input name="kod" type="text" size="50"></p><p> Введите дату добавления:<br/> <input name="data" type="text" size="50"></p><input class="submit" type="submit" value="Добавить">

и кнопка "Добавить" не работает нихера(( какая тут ошибка у меня?

проверил обработчик,с ним все норм,добавляет инфу в базу))

Отредактировано POFIGISST (2012.02.22 11:45)

Неактивен

#613 2012.02.22 13:27

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, </form> - закрыл не там, где надо.

Код:

1
span style="color: #0000BB"><?php//HTML<form action="/inc/insert.php" method="post" name="form"> <p> Введите название фильма: <br/> <input name="nazv" type="text" size="50" maxlength="200" /></p> <p> Введите описание фильма:<br/> <input name="opis" type="text" size="50" maxlength="255" /></p> <p> Введите код фильма:<br/> <input name="kod" type="text" size="50" /></p> <p> Введите дату добавления:<br/> <input name="data" type="text" size="50" /></p> <input class="submit" type="submit" value="Добавить" /></form>

Отредактировано tipsun (2012.02.22 13:28)

Неактивен

#614 2012.02.22 15:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
спасибо,чет я ступил(( теперь нормик работает)))

Неактивен

#615 2012.02.27 00:37

Siddhesh
Гость

Re: Общие вопросы по PHP

Hey friends, i want know how to make 'download counter" for AutoIndex Script(its means how many times files has been download). Please use english because i don't know russian language .i m using google translator using reading this forum

#616 2012.02.27 11:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#617 2012.02.27 16:34

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

пишу запрос в базу,который будет в файле запускаться по крону, но он не работает(( вот сам запрос mysql_query("update `users` where day = '".date("d")."' and month = '".date("m")."' set `posts`=`posts`+'200'"); то есть над обновить поле posts в таблице users где инфа в поле  day совпадает с сегодняшним днем и так же где инфа из поля month совпадает с текущим месяцем и если условия совпадают то в поле posts добавить 200 ( но дет я накосячил,и запрос нихера не работает(

Отредактировано POFIGISST (2012.02.27 19:12)

Неактивен

#618 2012.02.27 18:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

сначала set, а потом where

Неактивен

#619 2012.02.27 19:18

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
Спс smile тогда вот так запрос идет mysql_query("update `users` set `posts`=`posts`+'200' where day = '".date("d")."' and month = '".date("m")."'"); теперь работает все smile

Неактивен

#620 2012.03.03 18:46

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Как облегчить учесть такого запроса?

Код:

1
span style="color: #0000BB"><?php DB :: $dbh -> query("UPDATE ".RotorPrivat :: TABLE_LIST." l, ".RotorPrivat :: TABLE_PRIVAT." p, ".RotorPrivat :: TABLE_PRIVAT." o, `users` u SET l.`list_new` = '0', p.`privat_read` = '1', o.`privat_read` = '1', u.`users_newprivat` = u.`users_newprivat` - ".$getCorresp['list_new']." WHERE l.`list_id` = ? AND u.`users_login` = ? AND p.`privat_user` = ? AND p.`privat_author` = ? AND o.`privat_user` = ? AND o.`privat_author` = ?;", array($getCorresp['list_id'], self :: $_userLogin, self :: $_userLogin, $user, $user, self :: $_userLogin) );?>

Когда записей больше 10 000 этот запрос очень тяжко переживает этот процесс...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#621 2012.03.03 20:15

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

какие индексы на таблицах стоят?
я не вижу связи таблицы TABLE_LIST и TABLE_PRIVAT

Неактивен

#622 2012.03.03 20:27

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Индексы стоят везде где выборка происходит!
P/s проблема решена! просто разделил все на отдельные запросы и все стало работать на порядок быстрее


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#623 2012.03.03 21:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

у тебя не связаны эти 2 таблицы. почти уверен что проблема в этом.

Неактивен

#624 2012.03.09 02:58

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

бля,написал код для очистки файлов по запуску крона,но не хочет работать(( крон выставляю 100% правильно,так как у меня там еще 2 задания стоят которые норм работают,файл тоже 100% рабочий,если вручную запускать,то срабатывает)) а по крону не хочет(( может проблема в коде,вот сам код)

Код:

1
span style="color: #0000BB"><?php$dir='sxv/files';$dh = opendir($dir);while(($file=readdir($dh))!==false){if($file!='.' && $file!='..'){unlink($dir.'/'.$file);echo 'файл "'.$file.'" удален нах<br/>';}}closedir($dh);?>

Неактивен

#625 2012.03.09 13:52

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

делай логирование ошибок. т.е.

Код:

1
span style="color: #0000BB"><?php$dir = 'sxv/files';$dh = opendir($dir);if (!$dh) { exit('Невозможно открыть директорию "' . $dir . '"');}while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') { if (unlink($dir . '/' . $file)) { echo 'файл "' . $file . '" удален' . PHP_EOL; } else { echo 'ошибка при удалении файла "' . $file . '"' . PHP_EOL; } }}closedir($dh);

+ там нужна проверка на то, что это файл или директория, как минимум.

Неактивен

#626 2012.03.11 20:42

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Еще лучше сделать возможно?
И вообще стоит http_build_query() использовать?
Вроде как тот запрос, что содержится в url никуда не исчезает
+ должно действовать по принципу: <a href="/">/</a>

Код:

1
span style="color: #0000BB"><?phpfunction redirect ($url='', $params=''){ $redirect = $_SERVER['HTTP_HOST']; if ($url and '/' == $url{0}) { $redirect .= DIRECTORY_SEPARATOR . subStr($url, 1); } else { $redirect .= dirName($_SERVER['PHP_SELF']) . DIRECTORY_SEPARATOR . $url; } if (is_array($params) and array() <> $params) { $redirect .= (strPos($url, '?') ? '&' : '?') . http_build_query($params, null, '&'); } //Windows "\" and "/+" $redirect = preg_replace('#[\\\\/]+#', '/', $redirect); header('Location: http://' . rawUrlDecode($redirect)); exit();}//Для опытов >:Dredirect('/world//\/some', array('user' => array('name' => 'Bob Smith', 'age' => 47, 'sex' => 'M', 'dob' => '5/12/1956'), 'pastimes' => array('golf', 'opera', 'poker', 'rap'), 'children' => array('bobby' => array('age' => 12, 'sex' => 'M'), 'sally' => array('age' => 8, 'sex' => 'F')), 'CEO') );

Отредактировано tipsun (2012.03.11 20:52)

Неактивен

#627 2012.03.11 21:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

http_build_query заменяет в ключах точки и пробелы на подчеркивания - это проблемка.

Неактивен

#628 2012.03.12 22:03

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Полный адрес в Location, так полный.
А можно ли чтоб он содержал "../"?
http://site.ru/1/2/3/4/../../dr.php

Неактивен

#629 2012.03.13 02:19

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Ну попробуй

Неактивен

#630 2012.03.13 19:44

wapwer
Гость

Re: Общие вопросы по PHP

привет, я сделал новости на сайт но почемуто буква "Ш" шифруется в "�?" почему так? как исправить?

#631 2012.03.13 20:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

делать все в кодировке utf-8

Неактивен

#632 2012.03.13 20:57

wapwer
Гость

Re: Общие вопросы по PHP

что сдесь не так?
if ($_REQUEST['ok']) {
if ($_POST['title'] and $_POST['text']) {
$title = check($_POST['title']);
$text = check($_POST['text']);
$closed = abs(intval($_POST['closed']));
mysql_query("INSERT INTO `news` SET `title` = '$title', `text` = '$text', `time` = '".time()."', `closed` = '$closed', `mas` = '$id'");
echo "<div

class=\"title\"><center>Добавить новость</center></div>";
echo 'Новость успешно добавлена!<br/>';
echo '<a href="?mod=news&act=manage">К новостям</a><br />';
} else {
error('Вы не заполнили важные поля.');
nav('?mod=news&act=add');
}
} else {
echo "<div

class=\"title\"><center>Добавить новость</center></div>";
echo '<form action="?mod=news&act=add&amp;ok=1" method="post">
Название(max100):<br /><input name="title" type="text" maxlength="100" /><br />
Текст:<br /><textarea cols="35" rows="7" name="text" cols="" rows="5"></textarea><br />
<input name="closed" type="checkbox" value="1" /> закрыть комментирование<br />
<input name="submit" type="submit" value="Добавить" />
</form>';
echo '<a href="?mod=news&act=bbcode">Теги (bb-code)</a><br />';
echo '<a href="?mod=news&act=manage">К новостям</a><br />';
}
break;

#633 2012.03.13 23:02

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

тут все не так, но проблема не тут.
посмотри в какой у тебя кодировке бд и после соединения с бд указывай кодировку utf8

Неактивен

#634 2012.03.14 01:23

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Вот. Исправился.
Теперь норм?

Код:

1
span style="color: #0000BB"><?phpfunction redirect ($value=''){ $url = ''; $ds = '/'; if (0 === $value or $value) { if ($ds == $value{0}) { $url = subStr($value, 1); } else { $url = dirName($_SERVER['PHP_SELF']) . $ds . $value; } $old = preg_split('#\/+#', $url); $new = array(); $key = 0; foreach ($old as $value) { if ('..' == $value) { $key -= (0 < $key) ? 1 : 0; unSet($new[$key]); continue; } if ('' <> $value) { $new[$key] = $value; $key += 1; } } if (array() <> $new) { $url = rawUrlDecode(implode($ds, $new)); } else { $url = ''; } } //header('Location: http://' . $_SERVER['HTTP_HOST'] . $ds . $url, true, 301); //exit(); exit('Location: http://' . $_SERVER['HTTP_HOST'] . $ds . $url);}

Отредактировано tipsun (2012.03.14 01:46)

Неактивен

#635 2012.03.14 13:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

хз) проверь на практике)

Неактивен

#636 2012.03.14 15:02

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Тестировал, ошибок не заметил.
Оптимизация подсказывает, так лучше будет.

Код:

1
span style="color: #0000BB"><?php// foreach if ('..' == $value) { if (0 < $key) { $key -= 1; unSet($new[$key]); //or //unSet($new[--$key]); } continue; } if ('' <> $value) { $new[$key] = $value; $key += 1; //or //$new[$key++] = $value; }

+
+
Еще можно перед разбивкой попробовать проверить strPos($url, '../')
+

Код:

1
span style="color: #0000BB"><?phpfunction redirect ($value=''){ $url = ''; $ds = '/'; if (0 === $value or $value) { if ($ds == $value{0}) { $url = subStr($value, 1); } else { $url = dirName($_SERVER['PHP_SELF']) . $ds . $value; } $url = trim($url, $ds); if (false !== strPos($url . $ds, '../')) { $old = preg_split('#\/+#', $url); $new = array(); $key = 0; foreach ($old as $value) { if ('..' == $value) { if (0 < $key) { $key -= 1; unSet($new[$key]); //or //unSet($new[--$key]); } continue; } if ('' <> $value) { $new[$key] = $value; $key += 1; //or //$new[$key++] = $value; } } if (array() <> $new) { $url = implode($ds, $new); } else { $url = ''; } } $url = ($url) ? rawUrlDecode($url) : ''; } //header('Location: http://' . $_SERVER['HTTP_HOST'] . $ds . $url, true, 301); //exit(); exit('Location: http://' . $_SERVER['HTTP_HOST'] . $ds . $url);}

Отредактировано tipsun (2012.03.14 16:14)

Неактивен

#637 2012.03.15 15:05

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Это все конечно хорошо. Но по идее можно было делать так:
При указании (/url) с корня вообще не проверять на "../", "/..", а просто сносить.
При указании (url/) относительного пути рассматривать с начала строки столько "upDir" сколько есть на самом деле.
Тем более в PHP_SELF в нормальном виде. Первую не считать... Остальные "../", "/.." сносить.
- - - -
Или вообще фигней не страдать, у Akdmeh'а спросил, он ответил ничего страшного в том, что "../" будут в полном адресе перенаправления.
Да и при шаблонах можно вызвать другой шаблон, чтоб пользователь сам "push the button".

Отредактировано tipsun (2012.03.15 15:37)

Неактивен

#638 2012.03.16 13:39

ВАДИМ
Гость

Re: Общие вопросы по PHP

Столкнулся с такой проблеммой.

В магазине реализовал создание категорий и подкатегорий с неограниченым уровнем вложенности.

конечная категория содержит товар,который находится в другой таблице.

Собственно сам вопрос.

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

#639 2012.03.16 13:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Я бы советовал разбить на 2 действия.
1 - вытаскиваешь все id детей нужной категории. (даже просто в php цикле несколько запросов)
2 - вытаскиваешь товары у которых категория IN (результат 1 запроса). ну в твоем случае просто COUNT(1)
Объединять в 1 запрос будет накладнее.
вот еще ссылка по теме http://habrahabr.ru/post/47280/

Неактивен

#640 2012.03.16 14:37

ВАДИМ
Гость

Re: Общие вопросы по PHP

Дело в том что это тестовый вариант,поэтому если не трудното желательно готовое решение.
Я так понял тут нужен цикл,а вот как реализовать все это не могу понять.
Циклом я смог добится чтоб шел подсчет но проблемма в том что цикл заходит только в первые категории и подкатегории,то есть если в категории тест есть подкатегории тест1 тест2 тест3 тест4 то цакл входит в тест потом в тест1 и все,а остальные не проходит и не считает там товар.

#641 2012.03.16 14:52

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ВАДИМ, покажи свой код. либо скажи какой драйвер для работы с бд используется? mysql, mysqli, pdo?

Неактивен

#642 2012.03.16 17:17

ВАДИМ
Гость

Re: Общие вопросы по PHP

Драйвер mysql
Вот код вывода категорий и подкатегорий

Код:

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
if ($id)
{
$tip = mysql_query("SELECT * FROM `chop` WHERE `id`= '" . $id .
"' LIMIT 1");
$type = mysql_fetch_assoc($tip);
$tips = $type['type'];
switch ($tips)
{
 
case 'r':
echo '<div class="phdr">';
echo '<b>Магазин | ' . $type['name'] . '</b></div>';
 
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
$id . "'"), 0);
if ($count)
{
$req = mysql_query("SELECT * FROM `chop` WHERE `refid`='$id'");
 
while ($res = mysql_fetch_array($req))
{
 
//подкаталоги
$t = mysql_fetch_assoc(mysql_query("SELECT * FROM `chop` WHERE `id`= '" .
$res['id'] . "' LIMIT 1"));
$ts = $t['type'];
if ($ts == 'k')
{
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
$t['id'] . "'"), 0);
}
else
{
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
$res['id'] . "'"), 0);
}
 
echo '<a class="menu" href="index.php?id=' . $res['id'] .
'"><img src="/images/dir.png" alt="*"/> ' . checkout($res['name'],
1, 1) . ' [' . $count . '/' . $cuntsss . ']</a>';
 
if ($rights >= 7)
echo '<a class="delete" href="submit.php?id=' . $res['id'] .
'">X</a>';
if (!empty($res['opis']))
{
$text = $res['opis'];
$text = mb_substr($text, 0, 100);
$text = checkout($text, 1, 1);
}
 
++$i;
}
}
else
{
echo '<div class="list">Каталог пуст</div>';
}
 
if ($rights >= 7)
{
echo '<div class="gr">Создаем каталог</div>';
echo '<form action="submit.php?id=' . $id .
'" method="post"><div class="list">';
echo '<b>Название:</b><br/><input type="text" name="name" maxlength="40" value="" /><br />';
echo '<b>Описание:<small>max 150</small></b><br/><input type="text" name="opis" /><br/>';
echo '<input type="checkbox" name="type" value="k" /> Для файлов<br/>';
echo '<input type="submit" name="chop_kat" value="Создать"/></div></form>';
}
echo '<a class="menu" href="?id=' . $type['refid'] . '">Назад</a>';
break;
 
case 'k':
echo '<div class="phdr">';
echo '<b>Магазин | ' . $type['name'] . '</b></div>';
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
$id . "'"), 0);
if ($count)
{
$req = mysql_query("SELECT * FROM `tovar` WHERE `refid`='$id'");
 
while ($res = mysql_fetch_array($req))
{
 
//тут выводы товаров
 
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
$id . "'"), 0);
echo '<a class="menu" href="tovar.php?id=' . $res['id'] . '">' .
checkout($res['name'], 1, 1) . '</a> ';
if ($rights >= 7)
echo '<a class="delete" href="submit.php?id=' . $res['id'] .
'">X</a>';
if (!empty($res['opis']))
{
$text = $res['opis'];
$text = mb_substr($text, 0, 100);
$text = checkout($text, 1, 1);
}
 
++$i;
}
 
}
else
{
echo '<div class="gr">Товар еще не добавлен</div>';
}
if ($user_id && !$ban['1'] && !$ban['11'])
{
echo '<div class="list"><form action="add.php?&amp;id=' . $id .
'" method="post"><input type="submit" value="Добавить товар" /></form></div>';
}
echo '<div class="list"><a href="?id=' . $type['refid'] .
'"><font color="red">Назад</font></a></div>';
break;
 
default:
 
echo '<div class="list"><b>Ошибка!</b><br />Товар удален или же не существует!</p></div>';
break;
}
 
}
else
{
// Список разделов магазина
 
echo '<div class="gr">';
echo '<b>Магазин</b></div>';
 
$req = mysql_query("SELECT * FROM `chop` WHERE `type`='r' and `refid`='0' ORDER BY `real`");
 
while ($res = mysql_fetch_array($req))
{
 
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
$res['id'] . "'"), 0);
echo '<a class="menu" href="index.php?id=' . $res['id'] .
'"><img src="/images/dir.png" alt="*"/> ' . $res['name'] . ' [' .
$count . '/' . $c . ']</a>';
if ($rights >= 7)
echo '<a class="delete" href="submit.php?id=' . $res['id'] .
'">X</a>';
if (!empty($res['opis']))
{
$text = $res['opis'];
$text = mb_substr($text, 0, 100);
$text = checkout($text, 1, 1);
 
}
 
++$i;
}
 
if ($rights >= 7)
{
echo '<div class="gr">Создание раздела магазина</div>';
echo '<form action="submit.php" method="post"><div class="list">';
echo '<b>Имя раздела:</b><br/><input type="text" name="name" maxlength="40" value="" /><br />';
echo '<b>Описание:<small>max 150</small></b><br/><input type="text" name="opis" /><br/>';
echo '<input type="submit" name="chop_raz" value="Создать"/></div></form>';
}
}

#643 2012.03.16 18:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

многабукав)

Код:

1
span style="color: #0000BB"><?php$id = 1; //ID родительской категорииfunction getCategories (array $ids){ $out = array(); $q = mysql_query('SELECT id FROM categories WHERE parent_id IN(' . implode(',', array_map('intval', $ids)) . ')'); while ($row = mysql_fetch_assoc($q)) { $out[] = $row['id']; } return $out;}$out = array();while ($id = getCategories((array)$id)) { $out = array_merge($out, $id);}$offers = array();$q = mysql_query('SELECT * FROM offers WHERE category IN (' . implode(',', $out) . ')');while ($row = mysql_fetch_assoc($q)) { $offers[] = $row;}

я не проверял, но вроде должно работать.

Отредактировано Gemorroj (2012.03.17 00:45)

Неактивен

#644 2012.03.16 20:10

ВАДИМ
Гость

Re: Общие вопросы по PHP

Спасибо,но код не работает почему то.

#645 2012.03.16 21:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

что именно не работает?)

Неактивен

#646 2012.03.16 21:27

ВАДИМ
Гость

Re: Общие вопросы по PHP

Ничего не выводит,решил проверить что в массивах вывел их функцией prinr_r там пусто

#647 2012.03.16 22:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

эм,напиши вверху скрипта:
error_reporting(-1);
ini_set('display_errors', '1');
и напиши сюда какие ошибки пишет.

Неактивен

#648 2012.03.16 23:58

ВАДИМ
Гость

Re: Общие вопросы по PHP

Ошибки вот

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 23

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 179
Array
(
)


Код в 23 строке,это код из функции

Код:

1
while ($row = mysql_fetch_assoc($q))

Функция записанна так

Код:

1
2
3
4
5
6
7
8
9
10
11
function getCategories(array $id)
{
$out = array();
$q = mysql_query('SELECT (*) FROM `chop` WHERE `refid` IN(' .
implode(',', array_map('intval', $id)) . ')');
while ($row = mysql_fetch_assoc($q))
{
$out[] = $row['id'];
}
return $out;
}

Код в 179 строке

Код:

1
while ($row = mysql_fetch_assoc($q))

Записанно так
   

Код:

1
2
3
4
5
6
7
8
$offers = array();
$q = mysql_query('SELECT (*) FROM `tovar` WHERE `refid` IN (' .
implode(',', $out) . ')');
$i = 0;
while ($row = mysql_fetch_assoc($q))
{
$offers[] = $row;
}

#649 2012.03.17 00:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ВАДИМ написал:

SELECT (*)

SELECT *

Вообще, в первом селекте лучше только id бери, а не все. Т.к. избыточная информация повышает нагрузку на канал между mysql и php. Это, конечно, мелочи, но как о хорошей практике это надо знать и желательно применять.

Неактивен

#650 2012.03.17 00:24

ВАДИМ
Гость

Re: Общие вопросы по PHP

В общем методом проб и ошибок сократил до одной ошибки

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 180


Сделал такой трюк дабы узнать что за ошибка

Код:

1
print mysql_error();

И мне вывело что

Unknown column 'Array' in 'where clause'Array
(
)

Собственно сам код в 180 строке

Код:

1
while ($row = mysql_fetch_assoc($qaa))

А вот блок используемого кода

Код:

1
2
3
4
5
6
$qaa = mysql_query('SELECT * FROM `tovar` WHERE `refid` in ( '.$out.')');
$i = 0;
while ($row = mysql_fetch_assoc($qaa))
{
$offers[] = $row;
}

#651 2012.03.17 00:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

implode(',', $out)

Неактивен

#652 2012.03.17 00:37

ВАДИМ
Гость

Re: Общие вопросы по PHP

Таким образом
Notice: Array to string conversion in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 178

Notice: Array to string conversion in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 178

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 180

Unknown column 'Array' in 'where clause'Array
(
)


Ошибка в строке 178,вот сама строка

Код:

1
$qaa = mysql_query('SELECT * FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');

Ошибка в 180,вот строка

Код:

1
while ($row = mysql_fetch_assoc($qaa))

Ну и сам блок естественно

Код:

1
2
3
4
5
6
$qaa = mysql_query('SELECT * FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');
$i = 0;
while ($row = mysql_fetch_assoc($qaa))
{
$offers[] = $row;
}

#653 2012.03.17 00:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

print_r($out); ?

Неактивен

#654 2012.03.17 00:42

ВАДИМ
Гость

Re: Общие вопросы по PHP

Вот
Array
(
    [0] => Array
        (
            [0] => 15
            [1] => 16
            [2] => 17
            [3] => 37
        )

    [1] => Array
        (
            [0] => 22
            [1] => 23
            [2] => 24
            [3] => 25
            [4] => 26
            [5] => 27
            [6] => 28
            [7] => 29
            [8] => 30
            [9] => 31
            [10] => 32
            [11] => 33
            [12] => 38
            [13] => 39
            [14] => 40
            [15] => 41
        )

)


Можешь посмотреть вживую http://wapseller.ru/schop/index.php

#655 2012.03.17 00:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

точняк!)
там где $out собираешь замени $out[] = $row; на:
$out = array_merge($out, $row);

Неактивен

#656 2012.03.17 00:53

ВАДИМ
Гость

Re: Общие вопросы по PHP

О,ошибки пропали,все норма.
Теперь глупый вопрос,КАК вывести количество товаров в категорииях и покатегориях?

#657 2012.03.17 00:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

эм, echo не?)

Неактивен

#658 2012.03.17 01:01

ВАДИМ
Гость

Re: Общие вопросы по PHP

Так,в каталогах вывел функцией count()
Написал так

Код:

1
count($offers)

А вот в подкаталогах такая не прошла,выбило ошибку
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 80

Вот сам код

Код:

1
while ($row = mysql_fetch_assoc($qw))

Ну и собственно сам блок кода

Код:

1
2
3
4
5
6
$qw = mysql_query('SELECT * FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');
$i = 0;
while ($row = mysql_fetch_assoc($qw))
{
$offers[] = $row;
}

#659 2012.03.17 01:04

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#660 2012.03.17 01:06

ВАДИМ
Гость

Re: Общие вопросы по PHP

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

#661 2012.03.17 01:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

$qaa = mysql_query('SELECT COUNT(1) FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');
$count = mysql_result($qaa);

Неактивен

#662 2012.03.17 01:09

ВАДИМ
Гость

Re: Общие вопросы по PHP

Кстати,а где ты mysql_num_rows нашел? тут нету в коде ее.

#663 2012.03.17 01:12

ВАДИМ
Гость

Re: Общие вопросы по PHP

При таком варианте выбивает
Warning: mysql_result() expects at least 2 parameters, 1 given in /var/www/freeze/data/www/wapseller.ru/schop/index.php on line 80

#664 2012.03.17 01:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

а, второй 0 передай

Неактивен

#665 2012.03.17 01:21

ВАДИМ
Участник
Зарегистрирован: 2012.03.17
Сообщений: 4
Карма: 0
Профиль

Re: Общие вопросы по PHP

В общем врубил показ ошибки мускула и вот что выдало
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Неактивен

#666 2012.03.17 01:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

блин, давай весь код

Неактивен

#667 2012.03.17 01:24

ВАДИМ
Участник
Зарегистрирован: 2012.03.17
Сообщений: 4
Карма: 0
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

а, второй 0 передай

Блок кода

Код:

1
2
3
4
5
6
7
$qw = mysql_query('SELECT * FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');
$i = 0;
while ($row = mysql_fetch_assoc($qw))
{
$offers[] = $row;
}
print mysql_error();

Добавлено спустя   1 минуту  6 секунд:

Gemorroj написал:

блин, давай весь код

Верю что достал но я сам уже весь череп расколол

Код:

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
error_reporting(-1);
ini_set('display_errors', '1');
function getCategories(array $id)
{
$out = array();
$q = mysql_query('SELECT id FROM `chop` WHERE `refid` IN(' .
implode(',', array_map('intval', $id)) . ')');
while ($row = mysql_fetch_assoc($q))
{
$out[] = $row['id'];
}
return $out;
}
 
if ($id)
{
$tip = mysql_query("SELECT * FROM `chop` WHERE `id`= '" . $id .
"' LIMIT 1");
$type = mysql_fetch_assoc($tip);
$tips = $type['type'];
switch ($tips)
{
 
case 'r':
echo '<div class="phdr">';
echo '<b>Магазин | ' . $type['name'] . '</b></div>';
 
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
$id . "'"), 0);
if ($count)
{
$req = mysql_query("SELECT * FROM `chop` WHERE `refid`='$id'");
$i=0;
while ($res = mysql_fetch_array($req))
{
 
//подкаталоги
$t = mysql_fetch_assoc(mysql_query("SELECT * FROM `chop` WHERE `id`= '" .
$res['id'] . "' LIMIT 1"));
$ts = $t['type'];
if ($ts == 'k')
{
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
$t['id'] . "'"), 0);
}
else
{
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
$res['id'] . "'"), 0);
}
$id = $res['id'];
$out = array();
while ($id = getCategories((array )$id))
{
$out = array_merge($out, $id);
}
 
$offers = array();
$qw = mysql_query('SELECT * FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');
$i = 0;
while ($row = mysql_fetch_assoc($qw))
{
$offers[] = $row;
}
print mysql_error();
echo '<a class="menu" href="index.php?id=' . $res['id'] .
'"><img src="/images/dir.png" alt="*"/> ' . checkout($res['name'],
1, 1) . ' [' . $count . '/'.count($offers).']</a>';
 
if ($rights >= 7)
echo '<a class="delete" href="submit.php?id=' . $res['id'] .
'">X</a>';
if (!empty($res['opis']))
{
$text = $res['opis'];
$text = mb_substr($text, 0, 100);
$text = checkout($text, 1, 1);
}
 
++$i;
}
}
else
{
echo '<div class="list">Каталог пуст</div>';
}
 
if ($rights >= 7)
{
echo '<div class="gr">Создаем каталог</div>';
echo '<form action="submit.php?id=' . $id .
'" method="post"><div class="list">';
echo '<b>Название:</b><br/><input type="text" name="name" maxlength="40" value="" /><br />';
echo '<b>Описание:<small>max 150</small></b><br/><input type="text" name="opis" /><br/>';
echo '<input type="checkbox" name="type" value="k" /> Для файлов<br/>';
echo '<input type="submit" name="chop_kat" value="Создать"/></div></form>';
}
echo '<a class="menu" href="?id=' . $type['refid'] . '">Назад</a>';
break;
 
case 'k':
echo '<div class="phdr">';
echo '<b>Магазин | ' . $type['name'] . '</b></div>';
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
$id . "'"), 0);
if ($count)
{
$req = mysql_query("SELECT * FROM `tovar` WHERE `refid`='$id'");
$i=0;
while ($res = mysql_fetch_array($req))
{
 
//тут выводы товаров
 
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `refid`='" .
$id . "'"), 0);
echo '<a class="menu" href="tovar.php?id=' . $res['id'] . '">' .
checkout($res['name'], 1, 1) . '</a> ';
if ($rights >= 7)
echo '<a class="delete" href="submit.php?id=' . $res['id'] .
'">X</a>';
if (!empty($res['opis']))
{
$text = $res['opis'];
$text = mb_substr($text, 0, 100);
$text = checkout($text, 1, 1);
}
 
++$i;
}
 
}
else
{
echo '<div class="gr">Товар еще не добавлен</div>';
}
if ($user_id && !$ban['1'] && !$ban['11'])
{
echo '<div class="list"><form action="add.php?&amp;id=' . $id .
'" method="post"><input type="submit" value="Добавить товар" /></form></div>';
}
echo '<div class="list"><a href="?id=' . $type['refid'] .
'"><font color="red">Назад</font></a></div>';
break;
 
default:
 
echo '<div class="list"><b>Ошибка!</b><br />Товар удален или же не существует!</p></div>';
break;
}
 
}
else
{
// Список разделов магазина
 
echo '<div class="gr">';
echo '<b>Магазин</b></div>';
 
$req = mysql_query("SELECT * FROM `chop` WHERE `type`='r' and `refid`='0' ORDER BY `real`");
$i=0;
while ($res = mysql_fetch_array($req))
{
 
$id = $res['id'];
$out = array();
while ($id = getCategories((array )$id))
{
$out = array_merge($out, $id);
}
 
$offers = array();
$qaa = mysql_query('SELECT * FROM `tovar` WHERE `refid` in (' . implode(',', $out) . ')');
$i = 0;
while ($row = mysql_fetch_assoc($qaa))
{
$offers[] = $row;
}
 
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `chop` WHERE `refid`='" .
$res['id'] . "'"), 0);
echo '<a class="menu" href="index.php?id=' . $res['id'] .
'"><img src="/images/dir.png" alt="*"/> ' . $res['name'] . ' [' .
$count . '/'.count($offers).']</a>';
if ($rights >= 7)
echo '<a class="delete" href="submit.php?id=' . $res['id'] .
'">X</a>';
if (!empty($res['opis']))
{
$text = $res['opis'];
$text = mb_substr($text, 0, 100);
$text = checkout($text, 1, 1);
 
}
 
++$i;
}
 
if ($rights >= 7)
{
echo '<div class="gr">Создание раздела магазина</div>';
echo '<form action="submit.php" method="post"><div class="list">';
echo '<b>Имя раздела:</b><br/><input type="text" name="name" maxlength="40" value="" /><br />';
echo '<b>Описание:<small>max 150</small></b><br/><input type="text" name="opis" /><br/>';
echo '<input type="submit" name="chop_raz" value="Создать"/></div></form>';
}
}

Неактивен

#668 2012.03.17 01:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

не, я в таком коде боюсь глаза сломать)
там много каких-то непонятных мне селектов.
ошибка mysql скорее всего из-за того что $out пустой.

Неактивен

#669 2012.03.17 01:36

ВАДИМ
Участник
Зарегистрирован: 2012.03.17
Сообщений: 4
Карма: 0
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

не, я в таком коде боюсь глаза сломать)
там много каких-то непонятных мне селектов.
ошибка mysql скорее всего из-за того что $out пустой.

Щас принтом попробую вывести массив

Неактивен

#670 2012.03.17 02:00

ВАДИМ
Участник
Зарегистрирован: 2012.03.17
Сообщений: 4
Карма: 0
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

не, я в таком коде боюсь глаза сломать)
там много каких-то непонятных мне селектов.
ошибка mysql скорее всего из-за того что $out пустой.

Все понял в чем ошибка,в самой функции,в подкаталоге который является непосредственно каталогом товаров там же нет никакого рефида,то есть функция не находила нужные ей значения,теперь все норм,поправил и все робит,завтра возьмусь за оптимизацию кода.
Спасибо тебе за помощь,реально выручил.
И еще,могу помоч с антидоссом от хакфорума.

Неактивен

#671 2012.03.17 09:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

хех) ну если можешь, помоги.

Неактивен

#672 2012.03.24 21:30

werwap
Гость

Re: Общие вопросы по PHP

привет,
подскажите пожалоста как в граббе добавить подставной ip и useragent
а то мой ip хоста забанили?

#673 2012.03.24 21:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

через прокси

Неактивен

#674 2012.03.24 21:58

werwap
Гость

Re: Общие вопросы по PHP

напиши пожалоста как? пример

#675 2012.03.24 22:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php// создание нового ресурса cURL$ch = curl_init();// установка URL и других необходимых параметровcurl_setopt($ch, CURLOPT_URL, "http://www.example.com/");curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_PROXY, '192.168.1.1'); // тут устанавливаем проксю// загрузка страницы и выдача её браузеруcurl_exec($ch);// завершение сеанса и освобождение ресурсовcurl_close($ch);

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

Неактивен

#676 2012.03.24 22:15

werwap
Гость

Re: Общие вопросы по PHP

спасибо, я с грабами не очень (не умею)

#677 2012.03.25 19:44

werwap
Гость

Re: Общие вопросы по PHP

привет, немогу поставить копирайт на картинку, в чем проблема? вот

Код:

1
span style="color: #0000BB"><?php$sait='site.ru';$id=$_GET['id'];if(isset($id)){header("Content-type: image/gif");$url='http://s5.7ba.ru/video/img/'.$id;$path=pathinfo($url); header('Content-Disposition: attachment; filename="'.$path.'"');$img=imagecreatefromgif($url);$red=imagecolorallocate($img,255,2,50);imagestring($img,2,2,90,$sait,$red);echo imagegif($img); }?>

Отредактировано Gemorroj (2012.03.25 20:04)

#678 2012.03.25 20:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

pathinfo в твоем случае возвращает массив, на 7ba, на сколько я вижу, не gif, а jpeg. imagegif отправляет результат в выходной поток или пишет в файл, так что echo там не к месту.

Неактивен

#679 2012.03.25 20:42

werwap
Гость

Re: Общие вопросы по PHP

что там сменить нужна?

#680 2012.03.25 20:45

werwap
Гость

Re: Общие вопросы по PHP

нет, вот s5.7ba.ru/video/img/4964.gif

#681 2012.03.25 20:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php<?php$sait = 'site.ru';if (isset($_GET['id'])) { header('Content-type: image/gif'); header('Cache-Control: public, must-revalidate, max-age=8640000'); header('Pragma: public'); $img = imagecreatefromgif('http://s5.7ba.ru/video/img/' . $_GET['id']); $red = imagecolorallocate($img, 255, 2, 50); imagestring($img, 2, 2, 90, $sait, $red); imagegif($img);}?>

Неактивен

#682 2012.03.29 11:38

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Гемор подскажи как подсвечивать текст при поиске smile

Неактивен

#683 2012.03.29 11:53

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

И как можно сделать срез массива, если массив в JSON?
array_slice() не помогает

Неактивен

#684 2012.03.29 12:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ByVlad написал:

И как можно сделать срез массива, если массив в JSON?
array_slice() не помогает

ну декодируй его через json_decode и делай что хочешь.
Добавлено спустя   2 минуты  13 секунд:

ByVlad написал:

как подсвечивать текст при поиске

Код:

1
span style="color: #0000BB"><?php$search = 'text';$find = 'some text 1';echo str_replace($search, '<strong>' . $search . '</strong>', $find);

Неактивен

#685 2012.03.29 13:08

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Gemorroj написал:

ByVlad написал:

И как можно сделать срез массива, если массив в JSON?
array_slice() не помогает

ну декодируй его через json_decode и делай что хочешь.
Добавлено спустя   2 минуты  13 секунд:

ByVlad написал:

как подсвечивать текст при поиске

Код:

1
span style="color: #0000BB"><?php$search = 'text';$find = 'some text 1';echo str_replace($search, '<strong>' . $search . '</strong>', $find);

ну так декодировал) а по-поводу подсветки, а если например два слова в запросе, а в результатах есть только одно?

Неактивен

#686 2012.03.29 13:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ByVlad написал:

ну так декодировал

ну так значит это уже никакого отношения к JSON не имеет.

ByVlad написал:

два слова в запросе

Код:

1
span style="color: #0000BB"><?php$search = 'text wap strong';$find = 'some text 1 wap 2';$replace = array();$tag = 'strong';foreach (explode(' ', $search) as $v) { if ($v == $tag) { // если искомое слово == тэгу, которым выделяем найденное, добавляем искомое слово в начало массива $replace = array_reverse($replace, true); $replace[$v] = '<' . $tag . '>' . $v . '</' . $tag . '>'; $replace = array_reverse($replace, true); } else { $replace[$v] = '<' . $tag . '>' . $v . '</' . $tag . '>'; }}echo str_replace(array_keys($replace), array_values($replace), $find);

Неактивен

#687 2012.04.06 16:06

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Я вот думал как учитывать активных/онлайн пользователей+гостей.
Чтоб потом легко было вытащить или объединить, если где надо.

Код:

1
span style="color: #0000BB"><?php/*-- Создал отдельную таблицу.CREATE TABLE IF NOT EXISTS `activity` ( `active_id` bigint(20) unsigned NOT NULL DEFAULT '0', `active_ip` varchar(15) CHARACTER SET utf8 NOT NULL, `active_browser` varchar(300) CHARACTER SET utf8 NOT NULL, `active_point` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`active_ip`,`active_browser`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;*/define('WAITING_ACTIVITY', 240);// PDO$db->prepare("REPLACE `activity` " ."SET `active_id` = '" . ((int) @$_SESSION['user_id']) . "', " ."`active_ip` = ?, " ."`active_browser` = ?, " ."`active_point` = NOW() + INTERVAL '" . WAITING_ACTIVITY . "' SECOND;" )->execute(array($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']));

Код:

1
span style="color: #0000BB"><?phpdefine('ACCESS', 1);require_once 'engine.php';require_once 'class.PageMan.php';$sql = 'SELECT COUNT(*) FROM `activity` WHERE `activity`.`active_point` > NOW();';$count = $db->query($sql)->fetchColumn();if ($count) { $PM = new PageMan; $PM->setCount($count); $PM->setPage($_REQUEST['page']); $limit = $PM->getTable(); $sql = 'SELECT * ' . 'FROM `activity` ' . 'LEFT JOIN `users` ON (`activity`.`active_id` = `users`.`user_id`) ' . 'WHERE `activity`.`active_point` > NOW()' . 'ORDER BY `active_point` DESC ' . 'LIMIT ' . $limit[0] . ', ' . $limit[1] . ';'; $result = $db->query($sql)->fetchAll();}else { exit('No activity');}?><?php foreach ($result as $value): ?><?php echo ($value['user_name']) ? htmlSpecialChars($value['user_name']) : 'Guest'; ?><br/><?php echo $value['active_ip']; ?><br/><?php echo htmlSpecialChars($value['active_browser']); ?><hr/><?php endforeach;?>

Отредактировано tipsun (2012.04.06 16:16)

Неактивен

#688 2012.04.06 16:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

а почему браузер и юзерагент через плейсхолдеры передаешь, а id нет?
и я не понял совсем про джоин

Неактивен

#689 2012.04.06 16:17

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Я думал зачем лишний раз гонять, в принципе, чистые данные.
Добавлено спустя   3 минуты  52 секунды:
Про джоин.
Например есть сообщение с ид пользователя, чтобы на каждый пост не лезть в базу, наверно лучше джоином сразу зацепить все необходимое.
Вот с гостями уже фиг знает. Там у всех будет ведь id = 0

Так получается вроде:

Таблица с сообщениями (Ид автора)
+
Таблица с пользователями (ИД автора = Ид пользователя)
+
Таблица с активными/онлайн (ИД автора = Ид активного пользователя)

В итоге по недалекой идее:

Имя автора (или просто гость) (он/офф)
Сообщение
- - - -
Или это все просто глупость?

Отредактировано tipsun (2012.04.06 16:35)

Неактивен

#690 2012.04.06 17:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну еще не глупость. но само по себе 1 запрос не всегда лучше, чем 2 более мелких. например, на крупных проектах таблицы могут разноситься по разным серверам и JOIN вообще использовать становится невозможным.

Неактивен

#691 2012.04.06 18:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Хмм. Понятно. Спс.

Неактивен

#692 2012.04.06 23:50

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ну я злодей, хотел показывать активность гостей написавших сообщение, а потом подумал и big_smile Ахаха

Код:

1
span style="color: #0000BB"><?php$result = $db->query('SELECT `active_id` FROM `activity` WHERE `active_id` > 0 AND `active_point` > NOW();');$activity = $array = array();while ($array = $result->fetch()) { if ($array['active_id']) { $activity[$array['active_id']] = $array; }/* else { $key = md5($array['active_ip'] . $array['active_browser']); $activity[$key] = $array; }*/}$result = $db->query('SELECT * FROM `users`;');$users = $array = array();while ($array = $result->fetch()) { $users[$array['user_id']] = $array;}foreach ($users as $user) { echo $user['user_id']; echo ' '; echo isSet($activity[$user['user_id']]) ? 'On' : 'Off'; echo '<br/>';}

Отредактировано tipsun (2012.04.07 20:06)

Неактивен

#693 2012.04.07 18:10

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Привет, Геморрой.
Стоит задача написать свой небольшой шаблонизатор на нейтивном php.
Вот и стоит задача импортировать с помощью функции extract в область видимости метода класса view переменные с массива.
Какие минусы этого метода, стоит ли его использовать или нет?
Компилировать шаблоны или использовать другие решения не очень-то хочется, а писать $this->array['var'] - слишком длинно.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#694 2012.04.07 18:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

во первых, я бы настоятельно рекомендовал не велосипедить, а найти шаблонизатор по вкусу. от банальных smarty и twig до blitz и xslt.
что до extract, то в принципе, можно все сделать достаточно безопасно, если делать аккуратно, учитывая все моменты описанные в документации.

Неактивен

#695 2012.04.07 18:52

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

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


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#696 2012.04.07 19:24

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Кстати, вспомнил об одной уязвимости.
Есть файл, внутри него код:
<?php
$addr="my_file.txt\0";
echo $addr;
if(file_exists($addr.".php")) echo 'OK!';
include $addr.".php";

Результат будет отличным - мы проинклюдим файл my_file.txt, а остальная строка проигнорится!!!
То есть, как это может сработать.
Мы хотели получить от пользователя имя файла, к примеру, lol, а затем проверить, если существует файл lol.php - инклюдим его.
Но с помощью символа конца строки \0 остаток строки игнорируется, что позволит пройти проверку и подключить другой файл с другим расширением!

Вопрос - а какие еще функции подверждены этой уязвимости?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#697 2012.04.07 19:55

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Кстати, есть объект $test, он является экземпляром класса son, а son является сыном (через extends) абстрактного класса parent.

Если сделать $test instanceof parent - запрос будет работать?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#698 2012.04.07 21:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Akdmeh написал:

"my_file.txt\0"

на какой версии php проверял?
проверил сейчас на php 5.3.8 - не работает.
по-моему, это что-то из времен бородатого php 4.

Код:

1
span style="color: #0000BB"><?phpabstract class _parent {}class son extends _parent {}$test = new son;var_dump($test instanceof _parent); //bool(true)

Неактивен

#699 2012.04.07 22:56

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

На какой версии:
на php 5.3.1, винда.
Попытаюсь обновить, посмотреть.
Пришли код, как проверил, посмотрю.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#700 2012.04.08 00:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$file = '../robots.txt';var_dump(include $file);var_dump(include $file . "\0txt");// если бага присутствует, то файл должен проинклудится

Неактивен

#701 2012.04.08 00:21

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Вот в чем прикол - проинклюдилось ведь.
На днях попытаюсь обновить php до последней версии с линейки 5.3, но это довольно странно...


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#702 2012.04.08 09:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да ничего странного, 5.3.1 вышел 19 ноября 2009г. много всего уже поправили.

Неактивен

#703 2012.04.12 01:15

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ого, вот это я прогнал.
Надо обновиться до последней версии с 5.3
Кстати, стабильная ли сейчас 5.4?
Хотя особо использовать не планирую, но мало ли, просто интересно.
Добавлено спустя   5 минут  20 секунд:
Вот что еще удивило:
http://windows.php.net/download/
вот здесь версии для windows.
В опциях есть только VC9 Thread Safe или non thread safe.
Что выбрать и какая разница?
Кроме того, слева на странице написано:
If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
Do NOT use VC9 version with apache.org binaries

Я не понял, все же выбрать VC6? Ведь тем нет VC6 для php 5.3. То что выбирать? Немного меня это запутало.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#704 2012.04.12 14:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну да, 5.4 стабильная. 5.4.1 в релиз кандидатах.
>> Немного меня это запутало. http://forum.ru-board.com/topic.cgi?for … opic=15377
апач лучше брать отсюда http://www.apachelounge.com/download/

Неактивен

#705 2012.04.12 19:10

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Как я понял, в приватных методах и свойствах принято переменную называть, начиная с нижнего подчеркивания, то есть $_var? Или метод _userFunc?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#706 2012.04.12 19:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

В разных стандартах по разному. В PEAR, например, нет. А в Zend да.
Для проверки соответствия стандартов кодирования используется CodeSniffer.
Я лично предпочитаю Zend, да и используется он чаще.

Неактивен

#707 2012.04.16 13:40

maksimoff
Гость

Re: Общие вопросы по PHP

Помогите переделать импорт файлов для wap-host (copy не канает!)

Код:

1
span style="color: #0000BB"><?php/** * @package JohnCMS * @link http://johncms.com * @copyright Copyright (C) 2008-2011 JohnCMS Community * @license LICENSE.txt (see attached file) * @version VERSION.txt (see attached file) * @author http://johncms.com/about */defined('_IN_JOHNCMS') or die('Error: restricted access');require('../incfiles/head.php');if ($rights == 4 || $rights >= 6) { $req = mysql_query("SELECT * FROM `down_files` WHERE `type` = 1 AND `id` = '$id' LIMIT 1"); $res = mysql_fetch_assoc($req); if (!mysql_num_rows($req) || !is_dir($res['dir'] . '/' . $res['name'])) { echo functions::display_error('Каталог не существует<br /><a href="index.php">К категориям</a>'); require('../incfiles/end.php'); exit; } $al_ext = $res['field'] ? explode(', ', $res['text']) : $defaultExt; if (isset($_POST['submit'])) { $load_cat = $res['dir'] . '/' . $res['name']; $error = array (); $link = isset($_POST['fail']) ? str_replace('./', '_', trim($_POST['fail'])) : null; if ($link) { if (mb_substr($link, 0, 7) !== 'http://') $error[] = 'Неправильная ссылка'; else $link = str_replace('http://', '', $link); } if ($link && !$error) { $fname = basename($link); $new_file = isset($_POST['new_file']) ? trim($_POST['new_file']) : null; $name = isset($_POST['text']) ? trim($_POST['text']) : null; $name_link = isset($_POST['name_link']) ? functions::check(mb_substr($_POST['name_link'], 0, 200)) : null; $text = isset($_POST['opis']) ? mysql_real_escape_string(trim($_POST['opis'])) : null; $ext = explode(".", $fname); if (!empty($new_file)) { $fname = strtolower($new_file . '.' . $ext[1]); $ext = explode(".", $fname); } if (empty($name)) $name = $fname; if (empty($name_link)) $error[] = 'Не заполнено поле.'; if (count($ext) != 2) $error[] = 'Неправильное имя файла! К отправке разрешены только файлы имеющие имя и одно расширение (<b>name.ext</b>)'; if (!in_array($ext[1], $al_ext)) $error[] = 'Запрещенный тип файла! К отправке разрешены только файлы, имеющие следующее расширение: ' . implode(', ', $al_ext); if (strlen($fname) > 30) $error[] = 'Длина названия файла и названия для сохранеия не должна превышать 30 символов'; if (preg_match("/[^\da-z_\-.]+/", $fname)) $error[] = 'В названии файла присутствуют недопустимые символы. Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- ). Запрещены пробелы.'; } elseif (!$link) { $error[] = 'Вы не ввели ссылку.'; } if ($error) { $error[] = '<a href="index.php?act=import&id=' . $id . '">Повторить</a>'; echo functions::display_error($error); } else {if (file_exists("$load_cat/$fname")) $fname = $realtime . $fname; if (copy('http://' . $link, "$load_cat/$fname")) { echo '<div class="phdr"><b>Импорт файла</b></div>'; echo '<div class="gmenu">Файл выгружен</div>'; $fname = mysql_real_escape_string($fname); $name = mysql_real_escape_string(mb_substr($name, 0, 200)); mysql_query("INSERT INTO `down_files` SET `refid`='$id', `dir`='$load_cat', `time`='$realtime',`name`='$fname', `text` = '$name_link',`rus_name`='$name', `type` = '2',`user_id`='$user_id', `about` = '$text'"); $file_id = mysql_insert_id(); require('../incfiles/lib/class.upload.php'); $handle = new upload($_FILES['screen']); if ($handle->uploaded) { if (mkdir($screens_path . '/' . $file_id, 0777) == true) @chmod($screens_path . '/' . $file_id, 0777); $handle->file_new_name_body = $file_id; $handle->allowed = array ( 'image/jpeg', 'image/gif', 'image/png' ); $handle->file_max_size = 1024 * $set['flsz']; $handle->file_overwrite = true; if ($set_down['screen_resize']) { $handle->image_resize = true; $handle->image_x = 240; $handle->image_ratio_y = true; } $handle->process($screens_path . '/' . $file_id . '/'); if ($handle->processed) { echo '<div class="rmenu">Скриншот прикреплен</div>'; } else echo '<div class="rmenu">Скриншот не прикреплен: ' . $handle->error . '</div>'; } echo '<div class="menu"><a href="index.php?act=view&id=' . $file_id . '">К файлу</a></div>'; $dirid = $id; $sql = ''; while ($dirid != '0' && $dirid != "") { $res_down = mysql_fetch_assoc(mysql_query("SELECT `refid` FROM `down_files` WHERE `type` = 1 AND `id` = '$dirid' LIMIT 1")); if ($i) $sql .= ' OR '; $sql .= '`id` = \'' . $dirid . '\''; $dirid = $res_down['refid']; ++$i; } mysql_query("UPDATE `down_files` SET `total` = (`total`+1) WHERE $sql"); mysql_query("OPTIMIZE TABLE `down_files`"); echo '<div class="phdr"><a href="index.php?act=import&id=' . $id . '">Выгрузить еще</a> | '; echo '<a href="index.php?id=' . $id . '">Вернуться в категорию</a></div>'; } else echo '<div class="rmenu">Ошибка импорта.<br /><a href="index.php?act=import&id=' . $id . '">Повторить</a></div>'; } } else { echo '<div class="phdr"><b>Импорт файла: ' . functions::checkout($res['rus_name']) . '</b></div>'; echo '<div class="list1"><form action="index.php?act=import&id=' . $id . '" method="post" enctype="multipart/form-data"> Ссылка<span class="red">*</span>:<br /><input type="post" name="fail" value="http://"/><br /> Сохранить как (max. 30, без расширения):<br /><input type="text" name="new_file"/><br /> Скриншот:<br /><input type="file" name="screen"/><br /> Название файла (мах. 200):<br /><input type="text" name="text"/><br /> Ссылка для скачки файла (мах. 200)<span class="red">*</span>:<br /><input type="text" name="name_link" value="Скачать файл"/><br /> Описание (max. 500)<br /><textarea name="opis"></textarea>'; echo '<br /><input type="submit" name="submit" value="Импортировать"/></form>'; echo '</div><div class="phdr"><small>Max. вес: ' . $set['flsz'] . ' кб, расширения: ' . implode(', ', $al_ext) . ($set_down['screen_resize'] ? '<br />Скриншот будет автоматически преобразован в картинку, шириной не превышающую 240px (пропорции сохранятся)' : '') . '</small></div>'; echo '<p><a href="index.php?id=' . $id . '">Назад</a></p>'; }} else { header('Location: ' . $set['homeurl'] . '/?err');}?>

#708 2012.04.16 15:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

что за полотно? где код, который не работает?

Неактивен

#709 2012.04.17 21:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Хочу, чтоб было просто, логично, практично и "быстро" идеально smile
Есть другие предложения?

Код:

1
span style="color: #0000BB"><?php/*---- Table structure for table `activity`--CREATE TABLE IF NOT EXISTS `activity` ( `active_id` bigint(20) unsigned DEFAULT NULL, `active_ip` varchar(15) NOT NULL, `active_browser` varchar(300) NOT NULL, `active_point` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`active_ip`,`active_browser`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;*/// $db = PDO Driver//+ ACTIVITY//$db->prepare("REPLACE `activity` " ."SET `active_id` = '" . ((int) @$_SESSION['user_id']) . "', " ."`active_ip` = ?, " ."`active_browser` = ?, " ."`active_point` = NOW() + INTERVAL '" . ACTIVITY_EXPIRE . "' SECOND;" )->execute(array($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']));//- ACTIVITY//

.
.
Может лучше удалять неактивных,
Чтоб при выборке не задавать условие `active_point` > NOW()

Отредактировано tipsun (2012.04.17 21:48)

Неактивен

#710 2012.04.17 21:59

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Один хрен с этим INTERVAL что в DELETE, что в REPLACE.
Зато при выборке можно без лишних `active_point` > NOW()
Зато каждый раз выполняется запрос DELETE
Мдэ big_smile
- - - -
Что делать?

Отредактировано tipsun (2012.04.17 22:01)

Неактивен

#711 2012.04.17 22:14

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

чего ты к какой-то херне приколебался?) нормально все)

Неактивен

#712 2012.04.17 22:15

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Я не знаю. Бзик видимо big_smile
Спс, что посмотрел. smile

Отредактировано tipsun (2012.04.17 22:19)

Неактивен

#713 2012.04.18 19:27

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как правильно сделать?
Принимаешь данные с формы. Допустим что-то не соотв. треб. Как быть, если допустим не хочется запускать ничего лишний раз, db_connect.php как пример?

Код:

1
span style="color: #0000BB"><?phpif (isSet($_POST['auth']))$case = 1;else if (isSet($_POST['save']))$case = 2;else { $tpl->assign('error', 'auth'); $tpl->display('faceControl.form.tpl'); exit();}require_once 'engine.php'; // dbc, session, online

Отредактировано tipsun (2012.04.18 19:30)

Неактивен

#714 2012.04.18 19:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

есть такое понятие - lazy loading. т.е. грубо говоря подгрузка нужных классов по первому требованию, а не сразу.
делается через автолоадеры.

Неактивен

#715 2012.04.18 20:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ок. СПС.

Неактивен

#716 2012.04.19 22:40

retsat
Гость

Re: Общие вопросы по PHP

как сделать вивод даты на форуме вот так: Сегодня в 13:15, вчера в 13:15

#717 2012.04.19 22:41

retsat
Гость

Re: Общие вопросы по PHP

привет

#718 2012.04.20 00:39

retsat
Гость

Re: Общие вопросы по PHP

так не работает
if($datest > (time() - 0))
{
$date = "Сегодня";
}
else
{
if($datest > (time() - 86400))
{
$date = "Bчера";
}
}

#719 2012.04.20 04:19

Masternet
Гость

Re: Общие вопросы по PHP

привет, подскажите как сделать в грабе вапоса чтоб при скачке песни в название файла вставлялся копирайт? 
как сдесь http://xmast.ru/mp3/?user=1&mid=10887

#720 2012.04.20 10:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

retsat, что в переменной $datest?
Masternet, по ссылке не ходил, подозреваю, что через http заголовок content-disposition

Неактивен

#721 2012.04.20 10:53

retsat
Гость

Re: Общие вопросы по PHP

в $datest записано время добавления поста time()

#722 2012.04.20 11:00

Masternet
Гость

Re: Общие вопросы по PHP

напиши пожалойста пример как ето сделать?

#723 2012.04.20 12:35

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

retsat

Код:

1
span style="color: #0000BB"><?php/** * Время * * @param int $t timestamp * @return string */function tm($t){ if (date('Y.m.d', $t) == date('Y.m.d', $_SERVER['REQUEST_TIME'])) { return 'Сегодня ' . date('H:i', $t); } else if (date('Y.m.d', $t) == date('Y.m.d', $_SERVER['REQUEST_TIME'] - 86400)) { return 'Вчера ' . date('H:i', $t); } else { return date('Y.m.d H:i', $t); }}

Добавлено спустя   1 минуту  50 секунд:
Masternet

Код:

1
span style="color: #0000BB"><?phpheader('Content-Disposition: attachment; filename=newNameFile.ext');readfile('http://example.com/file.ext');

Неактивен

#724 2012.04.20 16:26

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блин,возникла проблема,делаю личные подарки,то есть чтоб перед тем как дарить,можно было отмечать поле "Лично" и никто не видит подарок,кроме получателя,форму добавил,в бд новое поле добавил,но вот с запросом проблема,не выполняется он( вот как я делаю

форма

Код:

1
echo '<input type="checkbox" name="publ" value="1"/> Личный<br/>';

переменная prriv

Код:

1
$prriv = ($_POST['publ']);

запрос в бд

Код:

1
mysql_query("INSERT INTO `present_give` SET `id_user` = '".$user['id']."', `id_give` = '$ank[id]', `time` ='".time()."', `id_p` ='$p[id]', `coment` ='$komm', `priv_pod` ='$prriv'");

но с таким кодом нифига не работает(( в чем моя ошибка?

Неактивен

#725 2012.04.20 17:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

$prriv = ($_POST['publ']); замени на $prriv = isset($_POST['publ']) ? 1 : 0;
'$ank[id]' замени на '".$ank['id']."'
'$p[id]' замени на '".$p['id']."'
покажи структуру бд.

Неактивен

#726 2012.04.20 19:45

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj , спасибо Паш,теперь норм передается единица в бд,по умолчанию я поставил там 0 , тип поставил интежер,поставил там ограничение 2 , на кол-во чисел, хотя я думаю, что это лишнее,так как туда всеравно нифига не смогут передатьsmile

Неактивен

#727 2012.04.20 20:15

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

тебе там тип enum в бд нужно сделать

Неактивен

#728 2012.04.21 01:04

retsat
Гость

Re: Общие вопросы по PHP

Gemorroj, Большое спасибо

#729 2012.04.21 01:37

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

тебе там тип enum в бд нужно сделать

а как его делать? вот структура бд)


Вложения

Неактивен

#730 2012.04.21 02:11

Masternet
Гость

Re: Общие вопросы по PHP

Gemorroj. спасибо но ищо проблема есть, при скачке мр3 такая проблема:
Имя: wapos113299.htm
Тип: Chrome HTML Document
Источник: site.ru

#731 2012.04.21 03:04

Masternet
Гость

Re: Общие вопросы по PHP

Gemorroj, сделал так:

$file = $_GET['file'];


header('Content-Type: audio/mpeg');




header('Content-Disposition: attachment; filename='.$file.'');
readfile('http://mp3.ru/'.$file.'');


а как определить вес файла? (при скачке вот что: ?Кб)

#732 2012.04.21 10:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

на все int unsigned еще поставь.
время лучше хранить в типах БД (т.е. timestamp или datatime)
priv_pod сделать enum
подозреваю, что и индексы не расставлены...
как делать..? тыкаешь изменить и выбираешь тип данных enum
Добавлено спустя   2 минуты  12 секунд:
Masternet, отдавать заголовок content-Length
.'' - и от такого бреда нужно отвыкать

Неактивен

#733 2012.04.21 20:51

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
ток с работы пришел, поставил enum('0', '1') , там где время поставил timestamp, а int unsigned ты имеешь в виду в бд поставить? в бд я такого не нашел,или ты имеешь в виду для форм поставить?

Отредактировано POFIGISST (2012.04.21 20:55)

Неактивен

#734 2012.04.21 22:01

Masternet
Гость

Re: Общие вопросы по PHP

Gemorroj, почему нужно отвыкать? 
ну там нужна както вес определить, незнаю как, вот
header('Content-Length: '.(вес файла));

#735 2012.04.21 23:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, ну получше поищи. В остальном все так.
Masternet, потому что это абсолютно лишняя конкатенация.
Чтобы определить вес файла, нужно либо так же спарсить заголовок Content-Length с удаленного сервера (get_headers), либо перекачать файл к себе и получить размер через filesize.

Неактивен

#736 2012.04.22 00:01

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj, int unsigned - это в типах он должен быть Паш?

Неактивен

#737 2012.04.22 00:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

тип - int. unsigned в phpmyadmin в свойствах типа где-то.

Неактивен

#738 2012.04.22 00:47

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj
нашел,unsigned в атрибутах ставится))

Отредактировано POFIGISST (2012.04.22 00:47)

Неактивен

#739 2012.04.22 18:34

Masternet
Гость

Re: Общие вопросы по PHP

Gemorroj, ясно. подскажи пожалоста функцию определения формата удаленного файла ?

#740 2012.04.22 19:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Masternet, нет такой функции. Определять тип можно по mime (заголовок Content-Type) или по расширению, т.к. зачастую админы/разработчики мудаки и не указывают правильный mime тип. В опере с этим долго возились, кстати.

Неактивен

#741 2012.04.24 20:31

Masternet
Гость

Re: Общие вопросы по PHP

Gemorroj, ясно, ищо вопрос: а можна в мр3 менять теги и сразу передавать файл пользователю, (ну чтоб файл не сохранать на хосте)

#742 2012.04.24 20:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Masternet, можно,но я х.з как,Паша знает как это делать,а лучше при скачивании тащи файл к себе на хост,и сделай файл удаления и крон на него выставьsmile

Неактивен

#743 2012.04.24 21:11

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Masternet, можно, но тогда, тебе все ~5-10мб файла нужно будет держать в оперативной памяти. Лучше так не делать, а просто после редактирования файл удалять, если он не нужен.
Вообще тут нужно воспользоваться какой-нибудь готовой библиотекой, типа PEAR_IDv2.

Неактивен

#744 2012.04.25 10:58

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Как можно сделать удаление строки из бд через определенный срок не используя крон? Например в поле в бд идет дара 29.03.2012 и нужно что через 30 дней от этой даты строка удалялась из бд,как такое можно замутить?

Неактивен

#745 2012.04.25 11:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

почему не крон?

Неактивен

#746 2012.04.25 12:23

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj, прост мод хочу дописать и закинуть в паблик,а на г хостах крона нет,вот и хочу сделать без крона,у мя то проблем с кроном нет,думаю о людях которые на г хостах,та еще и некоторые крон выставлять не умеют(

Неактивен

#747 2012.04.25 13:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#748 2012.04.25 13:51

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj, нее,тогда пошел паблик и г хосты в жопу,сделаю на кроне,пусть юзают те у крон естьbig_smile

Неактивен

#749 2012.04.26 23:17

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Пишу такой запрос в бд

$count_g1 = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `garem` WHERE `thief_id` = '".$ank['id']."'"),0);

но он не работает(( вернее выводит 0 ,где  у мя тут ошибка?

Неактивен

#750 2012.04.26 23:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну смотри что в переменной $ank['id']

Неактивен

#751 2012.04.26 23:24

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

ну смотри что в переменной $ank['id']

в переменной выводится ид юзера чья страница( только что проверил эту переменную,выводит норм ид(
Добавлено спустя   4 минуты  53 секунды:
нужно узнать какое кол-во записей есть в табле garem с  с ид который в переменке $ank['id'] (

Неактивен

#752 2012.04.26 23:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

echo "SELECT COUNT(`id`) FROM `garem` WHERE `thief_id` = '".$ank['id']."'";
и структуру бд давай

Неактивен

#753 2012.04.26 23:46

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

user_id - ид юзера кого я ворую,thief_id - мой ид,cost - цена кражи smile


Вложения

Неактивен

#754 2012.04.27 09:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

что echo "SELECT COUNT(`id`) FROM `garem` WHERE `thief_id` = '".$ank['id']."'"; показывает?

Неактивен

#755 2012.04.27 21:15

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj , SELECT COUNT
(`id`) FROM `garem` WHERE
`thief_id` = '".$ank['id']."'  запрос выводит,через паро часов за комп сяду,попробую чуть по другому сделать)

Неактивен

#756 2012.04.28 09:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

бляяять, мне покажи этот запрос!

Неактивен

#757 2012.04.28 19:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

бляяять, мне покажи этот запрос!

SELECT COUNT(`id`) FROM `garem` WHERE`thief_id` = '".$ank['id']."'  вот что выводит)

Неактивен

#758 2012.04.28 21:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну значит вместо id у тебя в переменной $ank['id'] какая-то хрень.

Неактивен

#759 2012.04.29 22:14

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

ну значит вместо id у тебя в переменной $ank['id'] какая-то хрень.

уже разобрался с этим вопросом,там не то что я ожидал должно было выводить,там не сколько раз украден,а сколько человек ты украл должно выводить(
Добавлено спустя   4 минуты  21 секунду:
блин,такой вопрос, есть код,сказали что в нем уязвимости, проверил страницу на сайте http://find-xss.net/scanner/ ,там показало что уязвимостей нет,посмотрите пожалуйста код,дырко он или нет? вот сам код

Код:

1
span style="color: #0000BB"><?phpinclude_once '../sys/inc/start.php';include_once '../sys/inc/compress.php';include_once '../sys/inc/sess.php';include_once '../sys/inc/home.php';include_once '../sys/inc/settings.php';include_once '../sys/inc/db_connect.php';include_once '../sys/inc/ipua.php';include_once '../sys/inc/fnc.php';include_once '../sys/inc/user.php';if (!isset($user)) { $set['title'] = 'Ошибочка вышла гг'; include_once '../sys/inc/thead.php'; title(); err(); echo "<center>Система определила Вас как Гостя сайта, для полноценного пользования и просмотра сайта **** Вам необходимо пройти <a href='/aut.php'>Авторизацию</a> или <br/><a href='/reg.php'>Регистрацию</a><img src='/style/smiles/ops.gif' alt='' class='icon'/></center>"; include_once '../sys/inc/tfoot.php'; exit();}if (isset($user)) mysql_query("DELETE FROM `chat_who` WHERE `id_user` = '$user[id]'");mysql_query("DELETE FROM `chat_who` WHERE `time` < '" . ($time - 120) . "'");if (isset($user) && isset($_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `besedka_rooms` WHERE `id` = '" . intval($_GET['id']) . "'"), 0) == 1 && isset($_GET['msg']) && mysql_result(mysql_query ("SELECT COUNT(*) FROM `user` WHERE `id` = '" . intval($_GET['msg']) . "'"), 0) == 1) { $room = mysql_fetch_assoc(mysql_query("SELECT * FROM `besedka_rooms` WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1")); $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '" . intval($_GET['msg']) . "' LIMIT 1")); if (isset($user)) mysql_query("INSERT INTO `chat_who` (`id_user`, `time`, `room`) values('$user[id]', '$time', '$room[id]')"); if ($set['time_chat'] != 0) header("Refresh: $set[time_chat]; url=/besedka/room/$room[id]/" . rand(1000, 9999) . '/'); // автообновление $set['title'] = 'Беседка - Ответ (' . mysql_result(mysql_query("SELECT COUNT(*) FROM `chat_who` WHERE `room` = '$room[id]'"), 0) . ')'; // заголовок страницы include_once 'inc/thead.php'; title(); if ($_GET['priv'] == 1) $checkbox = ' checked="checked"'; echo "<div class='tmn'>\n"; echo "<a href='/info.php?id=$ank[id]'>Посмотреть страничку</a> | <a href='/prof.php?id=$ank[id]'>анкету</a><br />\n"; echo "</div>\n"; echo "<form method=\"post\" action=\"/besedka/room/$room[id]/" . rand(1000, 9999) . "/\">\n"; echo "Сообщение:<br />\n<textarea name=\"msg\">$ank[nick], </textarea><br />\n"; echo "<label><input type=\"checkbox\"$checkbox name=\"privat\" value=\"$ank[id]\" /> Приватно</label><br />\n"; if ($user['group_access'] > 1) { echo "<label><input type=\"checkbox\" name=\"bold\" value=\"$ank[id]\" /> Жирный</label><br />\n"; echo "<label><input type=\"checkbox\" name=\"under\" value=\"$ank[id]\" /> Подчёркнутый</label><br />\n"; } if ($user['set_translit'] == 1) echo "<label><input type=\"checkbox\" name=\"translit\" value=\"1\" /> Транслит</label><br />\n"; echo 'Цвет текста <select name="color"><option value="">Стандарт</option><option value="#000000">Чёрный</option><option value="#808080">Серый</option><option value="#808000">Оливковый</option><option value="#008000">Зеленый</option><option value="#800080">Фиолетовый</option><option value="#0000FF">Синий</option><option value="#00FFFF">Голубой</option><option value="#FF00FF">Розовый</option><option value="#00FF00">Салатовый</option><option value="#FFFF00">Желтый</option><option value="#ff0000">Красный</option><option value="#e90080">Малиновый</option><option value="#008800">Хаки</option><option value="#f7bc5b">Телесный</option><option value="#446d8c">Мурена</option><option value="#b7770d">Коричневый</option></select><br/>'; echo "<input value=\"Отправить\" type=\"submit\" />\n"; echo "</form>\n"; echo "<div class=\"foot\">\n"; echo "&laquo;<a href=\"/besedka/room/6/5555/\">Назад</a><br />\n"; echo "</div>\n"; include_once '../sys/inc/tfoot.php';}if (isset($_GET['call'])) { echo "<div class=\"err\">"; echo "Вы действительно хотите вызвать модера? За вызов модера просто так Вы можете получить бан!<br />\n"; echo "<a href=\"?call2\">Да</a> \n"; echo "<a href=\"?\">Нет</a><br />\n"; echo "</div>";}if (isset($_GET['call2'])) { include 'call.php'; msg('Вы успешно вызвали модера');}if (isset($_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `besedka_rooms` WHERE `id` = '" . intval($_GET['id']) . "'"), 0) == 1) { $room = mysql_fetch_assoc(mysql_query("SELECT * FROM `besedka_rooms` WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1")); if (isset($user)) mysql_query("INSERT INTO `chat_who` (`id_user`, `time`, `room`) values('$user[id]', '$time', '$room[id]')"); $set['title'] = 'Беседка NaKnopke.Ru (' . mysql_result(mysql_query("SELECT COUNT(*) FROM `chat_who` WHERE `room` = '$room[id]'"), 0) . ')'; // заголовок страницы include_once 'inc/thead.php'; title(); include 'inc/room.php'; include_once 'roomcount.php'; include_once '../sys/inc/tfoot.php';}$set['title'] = 'Беседка'; // заголовок страницыinclude_once 'inc/thead.php';title();include 'inc/admin_act.php';err();echo "<table class='post'>\n";$q = mysql_query("SELECT * FROM `besedka_rooms` ORDER BY `pos` ASC");if (mysql_num_rows($q) == 0) { echo "Нет комнат\n";}while ($room = mysql_fetch_array($q)) { if ($num == 1) { echo "<div class='rekl_main'>"; $num = 0; } else { echo "<div class='menu_razd'>"; $num = 1; } echo "<div class='tmn'>"; echo "</div>";}include_once '../sys/inc/tfoot.php';?>

код сделал более читаемымsmile

Отредактировано POFIGISST (2012.04.30 00:14)

Неактивен

#760 2012.04.30 11:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

не понятно откуда берется $ank, $user и $room.
echo "Сообщение:<br />\n<textarea name=\"msg\">$ank[nick], </textarea><br />\n"; // где htmlspecialchars?

Неактивен

#761 2012.04.30 16:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

есть такое понятие - lazy loading. т.е. грубо говоря подгрузка нужных классов по первому требованию, а не сразу.
делается через автолоадеры.

Типа этого:

Код:

1
span style="color: #0000BB"><?php// функция автоматической загрузки классовfunction dcmsAutoload($className) { $path = $className . '.php'; //if (file_exists($path)) { require_once ($path); //}}// регистрируем функцию для автоматической загрузки классовspl_autoload_register('dcmsAutoload');$class = new ClassName1;$class = new ClassName2;$class = new ClassName3;

Отредактировано tipsun (2012.04.30 16:55)

Неактивен

#762 2012.04.30 16:56

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

echo "Сообщение:<br /><textarea name='msg'>".htmlspecialchars($ank[nick])."</textarea><br />"; вот так тогда?

Неактивен

#763 2012.04.30 17:03

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?phpecho 'Сообщение:<br /><textarea name="msg">' . htmlspecialchars($ank['nick']) . '</textarea><br />';

Неактивен

#764 2012.04.30 17:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, да, только лучше обернуть функцию в класс

Неактивен

#765 2012.04.30 21:57

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Эмм, так?

Код:

1
span style="color: #0000BB"><?php//+ LAZYLOAD//class LazyLoad{ const PRE = 'class.', EXT = '.php'; public static function get ($className) { require_once self::PRE . $className . self::EXT; }} spl_autoload_register('LazyLoad::get');//- LAZYLOAD//

Отредактировано tipsun (2012.04.30 21:58)

Неактивен

#766 2012.04.30 22:06

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

htmlspecialchars обрабатывает переменную $ank[nick] ,то есть ник,а сам текст сообщения не нужно обрабатывать?

Неактивен

#767 2012.04.30 22:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну, лучше не статикой.

Код:

1
span style="color: #0000BB"><?php class LazyLoad{ const PRE = 'class.', EXT = '.php'; public function load ($className) { require_once self::PRE . $className . self::EXT; }}spl_autoload_register(array('LazyLoad', 'load'));

Неактивен

#768 2012.04.30 22:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, ух круто. smile Спс.

Отредактировано tipsun (2012.04.30 22:09)

Неактивен

#769 2012.04.30 22:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST, ну нужно, наверное. Только я его в коде твоем не вижу что-то.

Неактивен

#770 2012.04.30 22:14

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Требует статику smile


Fatal error: Uncaught exception 'LogicException' with message 'Passed array specifies a non static method but no object' in L:\home\tt.php\www\engine.php:96 Stack trace: #0 L:\home\tt.php\www\engine.php(96): spl_autoload_register() #1 L:\home\tt.php\www\index.php(5): require_once('L:\home\tt.php\...') #2 {main} thrown in L:\home\tt.php\www\engine.php on line 96

Неактивен

#771 2012.04.30 22:15

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj, я сам нихера найти не смог где переменная текста идет,сеня полажу по инклюдам)

Неактивен

#772 2012.04.30 22:30

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php//+ LAZYLOAD//class LazyLoad{ const DIR = 'classes/', PRE = 'class.', EXT = '.php'; public static function load ($className) { require_once self::DIR . self::PRE . $className . self::EXT; }}spl_autoload_register(array('LazyLoad', 'load'));//- LAZYLOAD//

Отредактировано tipsun (2012.04.30 22:40)

Неактивен

#773 2012.05.04 19:47

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Кстати, тема немного оффтопная.
Смотрел ли ты код phpbb-wap 7 и что ты о нем думаешь?
Имеет ли право на жизнь этот скрипт в наше время?wink


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#774 2012.05.04 21:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

давно очень смотрел. не 7, а 4 вроде. любой скрипт имеет право на жизнь, если он востребован. код этого форума много хуже, например.

Неактивен

#775 2012.05.06 11:49

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Даже так? Интересноroll)
Почему-то думал, что с этим форумом лучше дела обстоят.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#776 2012.05.06 15:28

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

А почему тогда этот скрипт поставил? Выделение из кучи г форумов?

Неактивен

#777 2012.05.06 18:33

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Если я не ошибаюсь, когда он этот форум ставил, тогда и близко засилья phpbb-wap не было, а только начиналось.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#778 2012.05.06 19:19

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Мне этот форум больше нравиться чем phpbb,ничего лишнего,просто форум) хотя Паша мог бы и свой скрипт написать и лучше чем phpbb, ну всмысле по коду)

Неактивен

#779 2012.05.06 23:39

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

А мне он перестал нравиться, как только я взглянул на него изнутри neutral
Но дизайн бомба! LEXIN молот.

Отредактировано tipsun (2012.05.06 23:41)

Неактивен

#780 2012.05.07 15:16

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как можно сделать чтоб поисковики не видели счетчик мобтопа ? сделал вот так

Код:

1
echo '<center><script type="text/javascript" src="http://mobtop.ru/c/29532.js"></script><noscript><span class="linkrep" title="/some-page"><a href="http://mobtop.ru/in/29532"></span><img src="http://mobtop.ru/29532.gif" alt="MobTop.Ru - Рейтинг и статистика мобильных сайтов"/></a></noscript></span>';

но боты всеравно видят ссыль на мобтоп(

Неактивен

#781 2012.05.07 16:48

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Хотел посмотреть какие загрузчики бывают.
Вот наткнулся на такой и другой.
Вопрос: кодеру придется этот класс запустить, чтоб класс зарегистрировал себя как автозагрузчик?
- - - -
Вроде 1 класс по 1й ссыле регится сам.
А для другого уже нет, так?

Отредактировано tipsun (2012.05.07 16:56)

Неактивен

#782 2012.05.07 18:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

1 какой-то нагроможденный. особо не вижу смысла в логировании, когда есть функция get_required_files.
2 мне симпатичнее, но вот эта строка preg_replace('#_#', '\\', $className); вымораживает.
для примера, мой рабочий велосипед.

Код:

1
span style="color: #0000BB"><?php/** * Класс реализации autoload * * @author Anton Polumiskov * @copyright 2011 * */class Autoloader{ protected static $_instance = null; protected function __clone() { } /** * Конструктор */ protected function __construct() { self::restore(); } /** * Объект автолоадера * * @return Autoloader */ public static function getInstance() { if (self::$_instance === null) { self::$_instance = new self; } return self::$_instance; } /** * Возвращаем автолоадер * * @return boolean */ public function restore() { //if (self::$_instance !== null) { return spl_autoload_register(array($this, '_register')); //} } /** * Снимаем с регистрации * * @return boolean */ public function unregister() { if (self::$_instance !== null) { return spl_autoload_unregister(array($this, '_register')); } return true; } /** * Подклчение классов * * @param string $name */ protected function _register($name) { require __DIR__ . '/' . str_replace('_', '/', $name) . '.class.php'; }}?>

вызывается примерно так

Код:

1
span style="color: #0000BB"><?phprequire_once __DIR__ . '/API/Autoloader.class.php';Autoloader::getInstance();?>

Неактивен

#783 2012.05.07 18:35

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ок. СПС.

Неактивен

#784 2012.05.25 15:52

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Помогите создать форму для ввода чисел,и чтоб то число которое вводят в форму заносилось в переменную,хочу сделать у ся на сайте переход по страницам чтоб вводишь номер страницы и переходишь на нее, ссылка для перехода идет так "http://адрес.ру/?sort=time&page=номер страницы" и вот где номер страницы я хочу всунуть переменную которую вводят в форму) вчера пробовал,но чет нихера не получилось(

делал так

Код:

1
2
3
echo "<br/><input type=\"text\" name=\"num\" maxlength=\"50\" value=\"\"/><br/>";
 
$num = $_POST["num"] ;

Ну и потом переменную $num вставлял в адрес где идет номер страницы,но не работает(

Неактивен

#785 2012.05.25 17:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

данные передаются из формы, а не просто из инпутов

Неактивен

#786 2012.05.25 18:22

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Это тогда вот так будет

Код:

1
2
3
echo '<form method="post" enctype="text/plain">';
echo "<input type=\"text\" name=\"num\" maxlength=\"50\" value=\"\"/><br/></form>";
$num = $_POST["num"] ;

?

Отредактировано POFIGISST (2012.05.25 18:30)

Неактивен

#787 2012.05.25 18:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

text/plain там при чем??

Неактивен

#788 2012.05.25 19:03

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Ты прав, enctype="text/plain та не нужно,ведь там ток числа будут срабатывать,а какой тип тогда там ставить? или вообще никакого не нужно?

Неактивен

#789 2012.05.25 19:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

http://htmlbook.ru/html/form/enctype
application/x-www-form-urlencoded

Неактивен

#790 2012.05.31 13:12

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Привет!
Вопрос по подготовленным выражениям в mysqli.
Есть ли разница, если я все параметры буду передавать как s, а не i?
К тому же, можно ли вызывать bind_param несколько раз (заранее неизвестно количество входных параметров)?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#791 2012.05.31 13:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

на чет mysqli не уверен, но в PDO как минимум в обрамлении кавычками разница при указании параметра как int или string.
bind_param - попробуй, с ходу не скажу, т.к. mysqli не использую.

Неактивен

#792 2012.05.31 17:29

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Пока решил, что не стоит в это лезтьsmile
Кстати, плохо ли то, что я передаю объект с соединением mysqli во все модели, или объекты передаются по ссылке? (вот никак не могу вспомнить)


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#793 2012.05.31 18:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

модель работы с бд хорошо ложится на логику синглтона.
т.е. получение объекта работы с бд может выглядеть как $db = DB::getInstance();

Неактивен

#794 2012.05.31 21:27

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Я знаю.
Но мне совсем не сложно передавать sql в модель, это позволит, к примеру, подключится к разным базам данных.
Этот функционал у меня есть, но я его решил не использовать


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#795 2012.05.31 22:47

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

для подключения к разным бд, мне кажется, лучше сделать что-то типа DB::getBlog(); DB::getForum();

Неактивен

#796 2012.06.01 13:28

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ладно, я понял, это все очень интересно.
_________________
Есть вот какой вопрос.
Представь, что есть таблица Users, в которой хранятся только самые важные данные - логин, пароль, хэш, емейл, к примеру.
Но есть и другие настройки пользователя, тысячи их: настройки количества постов на страницу, анкетные данные и прочее, прочее, прочее.
Казалось бы, бери да добавляй дополнительные столбчики в таблицу Users да не знай проблем.
Но:
Их могут добавлять разные модули, что само по себе проблема (вдруг в модулей совпадут названия колонок, ведь все модули не проследишь, и не смотря на соглашение о наименовании столбцов, могут найтись криворукие), а в самом ActiveRecord классе количество столбцов не динамично, а строго вписывается в файл (чтобы каждый раз не запрашивать в базы данных существующие столбцы). Я понимаю, что сам себя загнал в слегка неудобную архитектуру, при которой дописывание столбцов требует изменение файла с моделью, что при динамичных модулях становится невозможным. В принципе, решить эту проблему можно, просто переписав метод, который возвращает список столбцов для конкретной модели, заставляя список колонок брать именно с базы данных, тратя на это еще один запрос.

Как вариант я подумал, что можно создать таблицу settings с подобной структурой: id_user, module, parameter_name, parameter_value.
Это позволит любому модулю хранить свои настройки, не изменяя самой структуры главной таблицы users.
С минусов, какие мне показались - возможная потеря производительности (ведь надо запросить не одну строчку, а несколько записей с достаточно огромной таблицы).

Как ты считаешь - заниматься ли дописыванием столбцов в таблице Users, или все же лучше создать отдельную таблицу с конфигурацией пользователей, а в Users хранить самые базовые данные, которые касаются только авторизации?
Буду благодарен за твою точку зрения на этот вопрос.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#797 2012.06.01 14:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

в процессе чтения зацепилось внимание за фразу "заставляя список колонок брать именно с базы данных, тратя на это еще один запрос". но ведь эти метаданные можно и нужно кэшировать. а кэш чистить скриптом по требованию.
на счет альтернативного варианта - да, вполне вариант и производительность повышается все тем же кэшированием.
что лучше однозначно сказать мне сложно. 2 вариант, например, используется в sea. довольно удобно и расширение проходит абсолютно безболезненно. 1 вариант, по памяти вспоминаю, в других не публичных проектах. При относительно небольшом и редко меняющемся кол-ве столбцов проблем не создает, в принципе.

Неактивен

#798 2012.06.01 14:58

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

//Гм, о том, чтобы писать это в кеш - я даже и не подумал. Кеш имеешь в виду файловый, а по возможности - на средства типа eAccelerator или memcache?
Просто именно поэтому я и решил писать метаданные прямо в файл. Ведь модель вообще редко меняется, а для тех, которые изменяются - можно как раз и использовать кеш. Неплохая идея ведь!smile
Я конечно думал о кешировании, это бесспорно. Но хорошее кеширование - это memcache (не так ли?), а Армеру придется переежать на VDS. Поэтому пока что буду без него, думаю, проект справится на первых порах, а может и вообще отлично будет справлятся. Участки, которые можно кешировать - я отмечаю.

Вопрос о том, что 2 способ подходит хуже, так как настроек может быть реально много для одного пользователя. Но то, что их можно бы кешировать - отличный совет, спасибо!


//Кратко о своей модели - просто список полей возвращает определенная функция. Ей ничто не мешает запрашивать метаданные с базы или просто с кеша, но в большинстве случаев я просто возвращаю массив со списком столбцов.

Вот за это я и люблю свои велосипеды - это заставляет тебя думать над проблемами, искать их решение, а работа программиста - это как раз на 95% - решение интересных задач.
Писал бы я на готовом фреймворке - я бы об этом никогда не задумывалсяsmile

Еще раз спасибо!


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#799 2012.06.01 15:11

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Akdmeh, ну memcache или просто файловый кэш - это уже вопрос того, сколько прослоек ты напишешь..)

Akdmeh написал:

Писал бы я на готовом фреймворке - я бы об этом никогда не задумывался

почему же не задумывался? я вот сейчас symfony ковыряю, очень даже задумываешься по ходу над техническими решениями примененными в фреймворке.

Неактивен

#800 2012.06.01 19:33

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ну ясноsmile


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#801 2012.06.03 18:49

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как можно блокнуть челу доступ к сайту,если ип динамический? у мя есть ip и userAgent этого чела,мне нужно ему полностью закрыть доступ к сайту)

Неактивен

#802 2012.06.04 15:04

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Можно в куки прописать ему, но он может догадаться, кроме того с другого браузера не будет работать бан.
Поэтому нету никаких средств это сделать кроме как банить конкретного авторизированного пользователя.


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#803 2012.06.06 17:55

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Объяните мне, как так? скрипт:

Код:

1
span style="color: #0000BB"><?php$a = 90;$a += ++$a;echo $a;

Дает результат: 182
В то время как по этой же системе не другими "методами"

Код:

1
span style="color: #0000BB"><?php$a = 90 + 90;echo ++$a;///////$a = 90;$a += $a;++$a;echo $a;///////$a = 90;$a += $a + 1;echo $a;

Выдает нам уже: 181


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#804 2012.06.06 18:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну так собсно в этом отличие ++$i и $i++
Добавлено спустя   1 минуту  15 секунд:
А результаты разные, так как там последовательность выполнения операций другая. сначала инкремент, а потом сложение.

Неактивен

#805 2012.06.06 18:14

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Про постфиксы и префиксы я знал, а то-что =+ является префиксным инкрементом только сейчас...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#806 2012.06.06 18:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN написал:

=+ является префиксным инкрементом

??
это просто установка знака, скорее всего.

Неактивен

#807 2012.06.06 18:39

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

т.е наоборот


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#808 2012.06.07 02:12

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Знакомый попросил накатать ему код для баннера,чтоб он был виден только для компов,ну я ему накатал такой велосипед

Код:

1
span style="color: #0000BB"><?php$gg = "Адрес баннера";if (stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox')) echo $gg;elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Chrome')) echo $gg;elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Safari')) echo $gg;elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Opera')) echo $gg;elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0')) echo $gg;elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0')) echo $gg;elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0')) echo $gg;?>

как это можно сделать компактнее и более удобнее ?

Неактивен

#809 2012.06.07 02:15

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Nu3oN
Кстати оператор "+=" это обычная функция на С++ можно её перегружать.
Представим что $a это объект типа int32. присваеваем с помощью метода присвоения 90
$a = 90;
а оператор "+=" это обычный метод
собственно тело метода
function method($val) {
    this->value = this->value + $val;
    return this->value;
}
Собственно если сделать:
$a->method(++$a);
приватное свойство value из-за инкремента сровняется 91 так же в методе в переменной $val будет хранится 91 что после будет приплюсовано свойству value
в результате на выходе будет 91+91
Тоже самое и с другими операторами(методами)

Неактивен

#810 2012.06.07 02:39

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
Используй mobile_device_detect или что то аналогичное. А то что ты написал выше это говно так как длинная конструкция с перебором каждый раз всех символов. Лучше один раз перебери и результат через свич прогони

Неактивен

#811 2012.06.07 02:46

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

POFIGISST
Используй mobile_device_detect или что то аналогичное. А то что ты написал выше это говно так как длинная конструкция с перебором каждый раз всех символов. Лучше один раз перебери и результат через свич прогони

Чет только что поискал инфу о mobile_device_detect особо ничего на русском не нашел,ща еще буду гуглить))

Неактивен

#812 2012.06.07 08:29

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST написал:

Чет только что поискал инфу о mobile_device_detect особо ничего на русском не нашел,ща еще буду гуглить))

Вот сразу же нашел http://code.google.com/p/php-mobile-detect/


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#813 2012.06.07 14:00

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Просмотрел только что исходник. То там тоже не такой уж и быстрый код но все же правильный.

Неактивен

#814 2012.06.07 14:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, на скорость кода смотри в последнюю очередь.

Неактивен

#815 2012.06.07 14:39

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj
Может и так а то чет помешался на ней.

Неактивен

#816 2012.06.07 16:02

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

А это еще что такое?)
http://code.google.com/p/php-mobile-det … emo.php#95

Неактивен

#817 2012.06.07 20:05

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

сделал вот так

Код:

1
2
echo '<form action="/strip/case.php?act=m_strip" method="post">
<input type="submit" value="Парни"/></div></form>';

работает,но выглядит не айс(


хочу вот так сделать

Код:

1
2
3
4
echo '<form action="/strip/case.php?act=" method="post">
<select name="go"><option value="m_strip">Парни</option>
<option value="g_strip">Девушки</option></select>
<input type="submit" value="Погнали"/></div></form>';

но так в адрес не передает имя кейса(

Отредактировано POFIGISST (2012.06.07 20:16)

Неактивен

#818 2012.06.08 00:22

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

POFIGISST,

Код:

1
span style="color: #0000BB"><?php$strAction = (! empty($_POST['go']) and $_POST['go'] == 'g_strip') ? 'g_strip' : 'm_strip';switch($strAction): case 'g_strip': echo 'girl'; break; case 'm_strip': default: echo 'men'; break;endswitch;

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#819 2012.06.08 00:34

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Nu3oN них какой код:0 спс,большое!

Неактивен

#820 2012.06.09 01:06

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Nu3oN написал:

POFIGISST,

Код:

1
span style="color: #0000BB"><?php$strAction = (! empty($_POST['go']) and $_POST['go'] == 'g_strip') ? 'g_strip' : 'm_strip';switch($strAction): case 'g_strip': echo 'girl'; break; case 'm_strip': default: echo 'men'; break;endswitch;

Люблю китайцев они всегда все упрощают но иногда больше чем надо.
А у нас наоборот надо все усложнять.
Зачем перебор тернарным оператором если дальше это же обрабатывается свитчем?

Код:

1
span style="color: #0000BB"><?phpif (empty($_POST['go'])) switch($_POST['go']) { case 'g_strip': echo 'girl'; break; case 'm_strip': echo 'men'; break; default: echo 'Воно'; break; }else ; // Форма не была переданой

Даже можно обойтись и без if (empty($_POST['go'])) если не нужен обработчик на не переданную форму. При этом будут выскакивать предупреждения на них должна стоять заглушка error_reporting
Завтыкал
if (empty($_POST['go']))
Надо заменить на

if (isset($_POST['go']))

Отредактировано TLENS (2012.06.10 12:46)

Неактивен

#821 2012.06.09 08:49

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

сделал вот так

Код:

1
2
echo '<form action="/strip/case.php?act=m_strip" method="post">
<input type="submit" value="Парни"/></div></form>';

работает,но выглядит не айс(


хочу вот так сделать

Код:

1
2
3
4
echo '<form action="/strip/case.php?act=" method="post">
<select name="go"><option value="m_strip">Парни</option>
<option value="g_strip">Девушки</option></select>
<input type="submit" value="Погнали"/></div></form>';

но так в адрес не передает имя кейса(

А с чего оно должно передаваться в адрес если метот пост?

Неактивен

#822 2012.06.09 18:32

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
А чтоб в адрес передавалось нужен метод GET ?

Неактивен

#823 2012.06.10 12:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST Советую тебе разобраться что где

Неактивен

#824 2012.06.10 18:54

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

как сделать ранд не целых чисел? попробовал так $qq = mt_rand (12.7 , 15.9); но не срабатывает,выводит целые числа,а мне нужно чтоб выводило не целые(

Неактивен

#825 2012.06.10 18:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
А пробовал просто rand?

Код:

1
lt;?function myrand($start, $finish, $num = 10) { return rand (round ($start * $num), round ($finish * $num)) / $num;}$start = 11.3;$finish = 25.7;echo myrand ($start, $finish);

Неактивен

#826 2012.06.10 19:00

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS
спасибо,работает функция)))

Неактивен

#827 2012.06.10 20:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

рекомендуется, кстати, использовать mt_rand, т.к. он использует более совершенный алгоритм генерирования случайного числа.
Добавлено спустя   2 минуты  21 секунду:
Прежде, необходимо разобраться в способах генерации случайных чисел. Для этих целей в PHP существуют две функции: rand() и mt_rand(). Первая использует библиотеку libc, а вторая является реализацией генератора случайных чисел Mersenne Twister, причем mt_rand() позволяет получить более рандомные числа. Оба алгоритма относятся к детерминированным, т.е. генерируются случайные числа с определенной зависимостью между ними, иначе говоря, числа псевдослучайны. К слову, существует еще один тип генераторов, которые позволяют получить абсолютно случайные числа. Такие генераторы имеют внешний источник энтропии. Например, стандартное устройство в UNIX /dev/random генерирует случайные числа, используя внешний шум драйверов устройств. Своеобразной энтропией для генераторов псведослучайных чисел является первоначальное число или сид (seed), исходя из которого выводятся все последующие случайные числа. Например, такой код будет всегда возвращать одни и те же числа:

Код:

1
span style="color: #0000BB"><?phpmt_srand(1337);echo mt_rand()."\n";echo mt_rand()."\n";echo mt_rand();?>

При каждом запуске такого скрипта будут всегда возвращены одни и те же числа, так как все они образованы от одного сида. Как видно из примера, задать сид можно с помощью функции mt_srand() (или srand() для rand()), однако делать это вовсе не обязательно – при вызове функции mt_rand() PHP (начиная с версии 4.2.0) самостоятельно задаст первоначальное число. По умолчанию в качестве сида, как для rand(), так и для mt_rand(), PHP задает 32 битный dword (или 4294967295 – максимальное значение для типа данных integer). Как отмечает Стефан, для реализации криптографических операций этого недостаточно. Однако в большинстве случаев такое первоначальное число способно обеспечить достаточную безопасность, даже несмотря на то, что веб-приложения продолжают использовать rand() и mt_rand() для генерации паролей, активационных ссылок, cookie для автоматического входа и идентификаторов сессии. Тем не менее, при особых условиях подбор сида становится вполне осуществимым или даже совсем не нужным.
---
скопипащено из интернетов

Неактивен

#828 2012.06.11 04:52

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj
Завтра почитаю подробнее. Но не пойму зачем нужны семя для рандомов в php вед семья автоматически меняется при каждом вызове.
Ладно утро вечера мудренее.

Неактивен

#829 2012.06.13 00:42

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

Нужен класс для работы с бд (желательно основанный на PDO) что бы строить запросы в объектно ориентированном виде...

Код:

1
span style="color: #0000BB"><?php$database -> select('table') -> where('pole', $var) -> limit('1', '19');// или$database -> name = 'table';$databese -> where = array('pole', $var)$database -> limit = 1;$database -> select();

Смотрел в сторону DB_DataObject но что-то мне не понравился синтаксис...
Добавлено спустя    57 секунд:
Просто самому лень такую прослойку писать... Слишком геморойно, да и зачем изобретать велосипед...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#830 2012.06.13 10:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Nu3oN, стандартный ответ - Doctrine2 (можно взять только DBAL) или Propel.

Неактивен

#831 2012.06.14 23:06

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Вот вижу в Kohana подобный код:
public static function factory($file = NULL, array $data = NULL)
{
    return new View($file, $data);
}

Возник вопрос - зачем использовать фабрику, если это - обычный вызов объекта?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#832 2012.06.14 23:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#833 2012.06.15 00:14

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Общие вопросы по PHP

Ну а если в общем - для чего используются фабрики?
Типа вызов объекта с дополнительными параметрами?


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#834 2012.06.15 00:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

во, вроде клевое описание) http://irbis-team.com/15/23/2

Неактивен

#835 2012.06.15 19:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Блин,делаю запрос в бд с рандомным выбором из бд,ставлю лимит на вывод 5,но чет не срабатывает,выводит только 1 поле( в чем ошибка у мя в запросе?
вот собсно запрос

Код:

1
$hit = mysql_fetch_array(mysql_query("SELECT * FROM `info` ORDER BY RAND() LIMIT 5"));

Неактивен

#836 2012.06.15 20:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT * FROM `info` ORDER BY RAND() LIMIT 5");while ($row = mysql_fetch_assoc($q)) { print_r($row);}

Неактивен

#837 2012.06.15 21:04

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT * FROM `info` ORDER BY RAND() LIMIT 5");while ($row = mysql_fetch_assoc($q)) { print_r($row);}

Огромное спасибо))

Неактивен

#838 2012.06.16 00:14

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

А с таким кодом можно сделать листинг? или нужно код менять для листинга?

Код:

1
span style="color: #0000BB"><?phpinclude 'head.php';include 'db.php';$today = date("j/n/Y"); $q = mysql_query("SELECT * FROM `info` ORDER BY 'id' DESC LIMIT 5");while ($row = mysql_fetch_assoc($q)) { echo '<div class="gmenu2"><br><br>'; echo "<b>Имя:</b> $row[name] <br>"; echo'<img src="' . $row['url'] .'"alt="*" width="70" height="60" /><br>'; echo "<b>Описание:</b> $row[opis] <br>"; echo "<b>Скачали:</b> $row[kols] <br>"; echo "<b>Добавлено:</b> $today <br>"; echo "<a href ='/ko.php'> <b>Комментарии: </b></a>(2)<br>"; echo "<a href ='/download.php'> <b>Скачать</b></a> $row[ves] (Мб.) "; echo '</div>';}?>

Неактивен

#839 2012.06.16 00:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

не понял вопроса.
в коде есть проблемы.

Неактивен

#840 2012.06.16 00:31

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

не понял вопроса.
в коде есть проблемы.

ну я хочу сделать чтоб было по страницам,на каждой странице чтоб выводило по 5 файлов,смотрел примерно как это делается,но нифига не понял,там в коде который я смотрел лимит идет не так как у меня,и функция листинга там написана, но её я тож не смог понять(

Неактивен

#841 2012.06.16 11:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, 2 запроса надо.
MySQL забыл совсем. Сейчас вспомню, напишу полностью.

Код:

1
span style="color: #0000BB"><?phprequire_once 'head.php';require_once 'db.php';$today = date("j/n/Y");$count = mysql_result(mysql_query('SELECT COUNT(1) FROM `info` LIMIT 1;', $db), 0);if ($count) { require_once 'PageMan.class.php'; // На форуме тут есть этот класс или возьми любой другой. У ZF например есть лучше. $PageMan = new PageMan; $limit = $PageMan->setCount($count) ->setPage($_REQUEST['page']) ->getTable(); $q = mysql_query('SELECT * FROM `info` ORDER BY `id` DESC LIMIT ' . $limit[0] . ', ' . $limit[1] . ';'); while ($row = mysql_fetch_assoc($q)) { echo '<div class="gmenu2"><br/><br/>' . '<b>Имя:</b> ' . $row['name'] . ' <br/>' . '<img src="' . $row['url'] . '" alt="*" width="70" height="60" /><br/>' . '<b>Описание:</b> ' . $row['opis'] . ' <br/>' . '<b>Скачали:</b> ' . $row['kols'] . ' <br/>' . '<b>Добавлено:</b> ' . $today . ' <br/>' . '<a href ="/ko.php"> <b>Комментарии: </b></a>(2)<br/>' . '<a href ="/download.php"> <b>Скачать</b></a> ' . $row['ves'] . ' (Мб.)' . '</div>'; } //+ ссылки для навигации по страницам.}

Отредактировано tipsun (2012.06.16 12:15)

Неактивен

#842 2012.06.16 13:14

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

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


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#843 2012.06.16 14:25

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Там и комментов всегда (2) smile

Код:

1
span style="color: #0000BB"><?php$today = date('j/n/Y');echo '<b>Добавлено:</b> ' . $today . ' <br/>';

Аля обновления каждый день big_smile

Отредактировано tipsun (2012.06.16 14:31)

Неактивен

#844 2012.06.16 14:57

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Там и комментов всегда (2) smile

Код:

1
span style="color: #0000BB"><?php$today = date('j/n/Y');echo '<b>Добавлено:</b> ' . $today . ' <br/>';

Аля обновления каждый день big_smile

комментарии у мя идут из массива с рандомным выбором,там их всегда 2 выводит,как бы 1 ком от девченки и другой от мужика  big_smile  , каждый файл свеженький,ток сегодня добавлен типаbig_smile

Неактивен

#845 2012.06.16 15:41

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
эт тут он Функция навигации по страницам класс PageMan ? smile

Неактивен

#846 2012.06.16 16:35

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Да. Там и примеры есть (на 15 стр. вроде).
Вот видимо готовый архив: http://wapinet.ru/forum/wap/viewtopic.p … 166#p22166

Отредактировано tipsun (2012.06.16 16:40)

Неактивен

#847 2012.06.16 16:57

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun написал:

Да. Там и примеры есть (на 15 стр. вроде).
Вот видимо готовый архив: http://wapinet.ru/forum/wap/viewtopic.p … 166#p22166

Спасиб,скачал,ща ссылки буду ставить ))

Неактивен

#848 2012.06.16 17:00

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Вот из примера возьми. Или в теме пример смотри.

Код:

1
span style="color: #0000BB"><?php$pages = $PageMan->getPageRangeSimple();$currentPage = $PageMan->getPage();foreach ($pages as $page) { if ($currentPage == $page) { echo '<span class="nowPage">' . $page . '</span>'; } else { echo '<span class="pageRange"><a href="?page=' . $page . '&amp;">' . $page . '</a></span>'; }}

Отредактировано tipsun (2012.06.16 17:05)

Неактивен

#849 2012.06.16 17:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Или проще: curPage - 1 | curPage + 1
+
Форма быстрого перехода.
Самый экономный вариант smile

Отредактировано tipsun (2012.06.16 17:18)

Неактивен

#850 2012.06.16 17:29

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
Ооо,работает,ваще огонь)) спс большое)))

Неактивен

#851 2012.06.16 17:56

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Рад, что кому-то, кроме меня, мой класс пригодился big_smile

Неактивен

#852 2012.06.17 19:02

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Где-то видел такое вот, как называется даже не знаю.
Типа:

Код:

1
span style="color: #0000BB"><?php(Fishka $string);

Типа фишка проверяет переменную, или что-то в этом роде. Типа самописный класс проверяет эту переменную.
Если такого нет, то есть где-то готовый набор валидации или парсинга?
Добавлено спустя   1 минуту  41 секунду:
На хабре кажется видел.

Отредактировано tipsun (2012.06.17 19:03)

Неактивен

#853 2012.06.17 19:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну.. ограниченная проверка типов в php есть.
можно в методах и функциях указывать имя класса или array (возможно еще что-то, уже не помню).
в твоем случае это больше на instanceof похоже.

Неактивен

#854 2012.06.17 19:23

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

А в принципе у PHP есть встроенные ресурсы filter_var().

Отредактировано tipsun (2012.06.17 19:24)

Неактивен

#855 2012.06.17 19:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#856 2012.06.17 19:27

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Да, что-то похожее. СПС.

Неактивен

#857 2012.06.19 15:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Какой путь является правильным?

Код:

1
span style="color: #0000BB"><?php// Путь #1function wayFirst (){ global $db;}class wayFirst{ protected $_db; public function __construct (/* global or from here */ $db) { global $db; $this->_db = $db; }}// Путь #2function wayAnother (){ $db = DB::singleton(); $db->query();}class wayAnother{ protected $_db; public function __construct () { $this->_db = DB::singleton(); }}

Отредактировано tipsun (2012.06.21 22:51)

Неактивен

#858 2012.06.19 15:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

что за global $db??? убирай это.

Неактивен

#859 2012.06.23 22:58

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

делаю вывод поля из бд,но чет не как не выводит его big_smile  посмотрите пожалуйста в чем ошибка ((

Код:

1
span style="color: #0000BB"><?php/** * подключение к бд */$db=mysql_connect('localhost','юзер','пасс') or die(mysql_erorr());mysql_select_db('имя бд',$db) or die(mysql_erorr());/** * запрос */$kol = mysql_fetch_assoc(mysql_query(" select `sca` from users where `id`=1 limit 1"));//ну и сама переменная echo $kol;

но переменная пустая,не пойму почему,вытаскиваю поле sca из таблицы users где ид равен 1  (




З.Ы. в подключении данные у мя вписаны,это тут я их скрыл)

Отредактировано POFIGISST (2012.06.23 23:00)

Неактивен

#860 2012.06.23 23:05

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
echo mysql_error();

Неактивен

#861 2012.06.23 23:10

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

POFIGISST
echo mysql_error();

проверил

Unknown column 'sca' in 'field list'

в этой таблице нет такой колонки,но она там точно есть(


мля,ошибся,там не sca идет поле,а ska,но теперь выводит пустое слово Array (

Отредактировано POFIGISST (2012.06.23 23:40)

Неактивен

#862 2012.06.23 23:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST
Значит это массив  var_dump($kol); или print_f($kol);

Неактивен

#863 2012.06.23 23:57

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

print_f($kol);

функция print_r вродь не для массивов,для массивов идет print_r  smile

Неактивен

#864 2012.06.24 00:01

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Спутал с форматным выводом

Неактивен

#865 2012.06.24 00:05

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

TLENS написал:

Спутал с форматным выводом

уже разобрался,нормик все выводит,спс за помощь в аське))

Неактивен

#866 2012.06.24 00:24

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, почему, в твоем велике автолоадера/lazyload, в конструкторе обычный метод вызывается как статический? Проведи ликбез, пожалуйста.

Неактивен

#867 2012.06.24 01:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

хз. в каком именно?

Неактивен

#868 2012.06.24 10:20

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, в этом.

Отредактировано tipsun (2012.06.24 10:22)

Неактивен

#869 2012.06.24 12:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

хз, честно говоря. зачем-то реализован синглтон.
а почему именно статический..? ну так. мне показалось так симпатишней.

Неактивен

#870 2012.06.24 18:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, а зачем в методе unregister условие?
Все равно конструктор закрыт. Путь только через метод singleton(), или я ошибаюсь?

Отредактировано tipsun (2012.06.24 18:48)

Неактивен

#871 2012.06.24 19:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, да, похоже ты прав. условие там не нужно.

Неактивен

#872 2012.06.27 02:25

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

даж не знаю в нужной ли теме пишу,но задача такая,нужно сделать автоматическое перенаправление через определенное время,поюзал инет,нашел там 2 метода,но там идет через HTML - META-тег REFRESH, вот так

Код:

1
<meta HTTP-EQUIV="Refresh" CONTENT="10;URL=http://трутуту">

этот способ работает,и еще один метод там прочитал,но лично у меня он не срабатывает,вот так там показано

Код:

1
header("Refresh:10; url=трутутуту");

еще нашел как делать через javascript , но на теле javascript не работает,так вот,какие способы еще есть решить такую задачу с переадресацией через заданное время?

Неактивен

#873 2012.06.27 09:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:


Код:

1
header("Refresh:10; url=http://site.ru");

А без пробела пробовал?

Код:

1
header('Refresh:10;url=http://site.ru');

Отредактировано tipsun (2012.06.27 09:12)

Неактивен

#874 2012.06.27 12:46

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

даж не знаю в нужной ли теме пишу,но задача такая,нужно сделать автоматическое перенаправление через определенное время,поюзал инет,нашел там 2 метода,но там идет через HTML - META-тег REFRESH, вот так

Код:

1
<meta HTTP-EQUIV="Refresh" CONTENT="10;URL=http://трутуту">

этот способ работает,и еще один метод там прочитал,но лично у меня он не срабатывает,вот так там показано

Код:

1
header("Refresh:10; url=трутутуту");

еще нашел как делать через javascript , но на теле javascript не работает,так вот,какие способы еще есть решить такую задачу с переадресацией через заданное время?

Используй метатег и не выдумывай.

Неактивен

#875 2012.06.27 17:16

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
неа,не пробовал,я сделал через метатег ))
Добавлено спустя   2 минуты  42 секунды:
TLENS
я через него и сделал:-D

Неактивен

#876 2012.06.28 13:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

tipsun написал:

POFIGISST написал:


Код:

1
header("Refresh:10; url=http://site.ru");

А без пробела пробовал?

Код:

1
header('Refresh:10;url=http://site.ru');

POFIGISST написал:

tipsun
неа,не пробовал,я сделал через метатег ))

А зря, работает (проверил).

Отредактировано tipsun (2012.06.28 13:41)

Неактивен

#877 2012.06.28 16:38

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
ты прав,работает если без пробела,спасибо,учту этот способ))
-------------------------

З.Ы. твой код который ты мне недавно скинул для постраничной навигации еще раз мне пригодился))

Неактивен

#878 2012.06.28 18:43

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST, очень рад smile

Неактивен

#879 2012.07.11 13:48

Merzavetz
Участник
Зарегистрирован: 2012.06.23
Сообщений: 10
Карма: 1
Профиль

Re: Общие вопросы по PHP

Подскажите пожалуйста, как сделать чтобы один файл коннектился к нескольким сайтам?
Вот код:

Код:

1
lt;? for ($start=0, $end=10; $start <= $end; $start++) { file_get_contents("http://site.net"); } ?>

Сейчас он коннектится только к site.net.

Неактивен

#880 2012.07.11 14:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$array = array( 'http://vk.com', 'http://wapinet.ru', 'http://microsoft.com',);foreach ($array as $v) { file_get_contents($v); } ?>

Неактивен

#881 2012.07.11 14:18

Merzavetz
Участник
Зарегистрирован: 2012.06.23
Сообщений: 10
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj, спасибо большое)
А количество обращений к сайту как установить? В моем примере было 10 коннектов, в твоем все работает, но делается только один коннект(

Неактивен

#882 2012.07.11 15:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php$array = array( 'http://vk.com', 'http://wapinet.ru', 'http://microsoft.com',);foreach ($array as $v) { for ($i = 0; $i <= 10; ++$i) { file_get_contents($v); }}?>

Неактивен

#883 2012.07.11 16:46

Merzavetz
Участник
Зарегистрирован: 2012.06.23
Сообщений: 10
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj, спасибо еще раз большое! Очень помогло.

Неактивен

#884 2012.07.19 22:37

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

помогите пожалуйста исправить ошибку,выдает ошибку в первой строке,но я не пойму почему там ошибка,по моему вродь синтаксис функции if идет норм то есть if (условие) {вывод}  (

Код:

1
span style="color: #0000BB"><?phpif ($user[level] => 1){ if (isset($_GET['act']) && $_GET['act'] == 'delete' && $l != '/') { echo "<div class=\"err\">"; echo "Удалить файл \"$file_id[name]\"?<br />\n"; echo "<a href='?showinfo&amp;act=delete&amp;ok'>Да</a> \n"; echo "<a href='?showinfo'>Нет</a><br />\n"; echo "</div>"; } else { echo "<div class=\"foot\">\n"; echo "<a href='?showinfo&amp;act=delete'>Удалить файл</a><br />\n"; echo "</div>\n"; }}?>

Неактивен

#885 2012.07.19 22:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

$user[level] -> $user['level']
$file_id[name] -> $file_id['name'], вероятно, еще тут htmlspecialchars нужен.

Неактивен

#886 2012.07.19 22:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

$user[level] -> $user['level']
$file_id[name] -> $file_id['name'], вероятно, еще тут htmlspecialchars нужен.

$file_id[name] вообще убрал,оно там не нужно,а это $user[level] -> $user['level'] сделал,но phpdesigner все равно ошибку светит( раньше там был код вот такой

Код:

1
span style="color: #0000BB"><?phpif (user_access('obmen_file_delete')){ if (isset($_GET['act']) && $_GET['act'] == 'delete' && $l != '/') { echo "<div class=\"err\">"; echo "Удалить файл \"$file_id[name]\"?<br />\n"; echo "<a href='?showinfo&amp;act=delete&amp;ok'>Да</a> \n"; echo "<a href='?showinfo'>Нет</a><br />\n"; echo "</div>"; } else { echo "<div class=\"foot\">\n"; echo "&raquo;<a href='?showinfo&amp;act=delete'>Удалить файл</a><br />\n"; echo "</div>\n"; }}?>

я только первую строку заменил(

Неактивен

#887 2012.07.19 23:02

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

стыдно( и кстать стыдно должно быть не только мнеbig_smile еллементарная ошибка( моя не внимательность( не так

if ($user['level'] => 1);

а так

if ($user['level'] >= 1);

sad

З.Ы. Ошибка была double arrow -> двойная стрелка( баран я(

Отредактировано POFIGISST (2012.07.19 23:15)

Неактивен

#888 2012.07.23 22:08

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Что делать, если смарти и автолоадер не дружат?

Неактивен

#889 2012.07.23 22:14

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

подружить)
чем они не дружат?

Неактивен

#890 2012.07.23 22:16

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Мой ленивец в смарти лезет.
Я вроде там (в автолоадере) делал замену '_' => '/'. Наверно поэтому.
Можно наверно проверку там сделать, если нет такого, то загрузить как обычно.

Неактивен

#891 2012.07.23 23:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

а где в смарти _ ?

Неактивен

#892 2012.07.23 23:33

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

W:\home\tt.php\www\trunk\includes\library\Smarty_Internal_TemplateCompilerBase.php у меня не может загрузиться.
Я сделал так:
- Папка с классами лежит тут: includes\library
- Папка со смарти: includes\library\Smarty
- Ленивец: includes\library\LazyLoad.class.php

Код:

1
span style="color: #0000BB"><?php//Ленивецclass LazyLoad{ const EXT = '.class.php'; private $_status, $_dir; protected static $_instance; private function __clone () {} private function __wakeup () {} public static function singleton () { if (null === self::$_instance) { self::$_instance = new self; } return self::$_instance; } protected function __construct () { $this->_dir = dirname(__FILE__); } public function register () { if (! $this->_status) { return $this->_status = spl_autoload_register(array($this, '_loader')); } } public function unregister () { if ($this->_status) { return ! $this->_status = ! spl_autoload_unregister(array($this, '_loader')); } } private function _loader ($className) { require_once $this->_dir . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $className) . self::EXT; }}

Неактивен

#893 2012.07.23 23:53

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Я без замены '_' => '/' тоже пробовал. Не получается.
Добавлено спустя   5 минут  22 секунды:
Почему именно я сказал, что не дружат - расширение мое:


W:\home\tt.php\www\trunk\includes\library\Smarty\Internal\TemplateCompilerBase.class.php
W:\home\tt.php\www\trunk\includes\library\Smarty_Internal_TemplateCompilerBase.class.php
Находится этот файл тут:
W:\home\tt.php\www\trunk\includes\library\Smarty\sysplugins\smarty_internal_templatecompilerbase.php

Неактивен

#894 2012.07.24 01:05

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Если я правильно понял пост #2, то это есть решение проблемы:
www.smarty.net/forums/viewtopic.php?t=16819

Неактивен

#895 2012.07.24 04:43

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Жестко тупил [это мое обычное состояние], но потом, методом тыка, получилось.

Код:

1
span style="color: #0000BB"><?php// common.phpLazyLoad::singleton()->register();// some code...$tpl = new TemplateMan(PATH_DESIGN . $design);// library/TemplateMan.class.phpLazyLoad::singleton()->unregister();//define('SMARTY_SPL_AUTOLOAD', 1);require_once 'Smarty' . DIRECTORY_SEPARATOR . 'Smarty.class.php';LazyLoad::singleton()->register();// Надо в переменной держать, оказывается пригодится может. Если в классе каком, так же через сингтон в переменную и вперед. :)$LazyLoad = LazyLoad::singleton();$LazyLoad->register();

Неактивен

#896 2012.07.26 04:47

werwap
Гость

Re: Общие вопросы по PHP

привет. подскажи как в граббе определить адрес файла есла переадресация на файл? вот http://flash.mobik.ru/?module=download&category=20&id=67

#897 2012.07.26 14:31

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

werwap написал:

привет. подскажи как в граббе определить адрес файла есла переадресация на файл? вот http://flash.mobik.ru/?module=download&category=20&id=67

http://flash.mobik.ru/index.php?module=download&category=20&id=67

Неактивен

#898 2012.07.26 15:21

werwap
Гость

Re: Общие вопросы по PHP

tipsun, адрес файла Flash нужна

#899 2012.07.26 15:25

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

werwap написал:

tipsun, адрес файла Flash нужна

Ну так сразу и надо писать, что конкретно нужно.
- - - -
Если у тебя есть адрес:
http://flash.mobik.ru/index.php?module=download&category=20&id=67
Меняешь на такой:
http://flash.mobik.ru/download.php?id=67
Ловищь переадресацию в заголовках:
Location: http://...
Имя файла передается через, когда переходишь по переадресации:
Content-Disposition    attachment; filename=1109072.swf

Неактивен

#900 2012.07.26 15:54

werwap
Гость

Re: Общие вопросы по PHP

подробнее код можеш написать?

#901 2012.07.26 16:00

werwap
Гость

Re: Общие вопросы по PHP

вот что нужно

Код:

1
span style="color: #0000BB"><?php$filename = "сюда нужно определить адрес файла"; $fh = fopen($filename, "r"); while(($str = fread($fh, 1024)) != null) $fsize += strlen($str); header('Content-Length: ' . $fsi);

#902 2012.07.26 17:40

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

werwap написал:

подробнее код можеш написать?

Как-то так наверно.

Код:

1
span style="color: #0000BB"><?php$headers = get_headers('http://flash.mobik.ru/download.php?id=67', true);/*echo '<pre>';var_dump($headers);echo '</pre>';*/$pos = strrpos($headers['Content-Disposition'], '=');$file = substr($str, $pos + 1);echo $headers['Location'] . $file;//echo $headers['Content-Length'][1];

Неактивен

#903 2012.07.26 18:03

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как найти home_url для моего скрипта?
Вчера сидел пытался найти. (В интернете искал способ найти путь до css файла, ничего нормального не нашел (плохо искал))
Вот что получилось.
Меня радует одно, что не надо вручную делать ничего smile
и $_SERVER['DOCUMENT_ROOT'] не используется.

Принцип прост:
Из текущего/запущеного файла, который проинклудил код/файл ниже,
удаляется относительный путь, остается абсолютный.
Потом из-за виндовса надо поменять слеши.
Потом берем значение __FILE__ include файла.
Удаляем из него абсолютный путь, остается относительный smile
Сохраняем результат.

Код:

1
span style="color: #0000BB"><?php//common.php [this is including file]//FIND HOME URL//define('COMMON_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR); //exampledefine('COMPILED_FILE', COMMON_PATH . 'compiled.php'); //example@include_once COMPILED_FILE;/*Условие можно и попроще, просто подумал, вдруг скрипт будет перенесен, переименована папка и т.п.*///+ FIND HOME URL//@include_once COMPILED_FILE;if (! (defined('PARENT_FILE') and __FILE__ == PARENT_FILE)) { $search = $replace = array(); if ('\\' == DIRECTORY_SEPARATOR) { $search[] = DIRECTORY_SEPARATOR; $replace[] = '/'; } $search[] = str_replace($_SERVER['SCRIPT_NAME'], null, $_SERVER['SCRIPT_FILENAME']); $replace[] = null; define('COMMON_URL', 'http://' . $_SERVER['HTTP_HOST'] . str_replace($search, $replace, COMMON_PATH)); define('CSS_URL', COMMON_URL . DESIGN_DIR . '/' . $designName . '/'); $content = '<?php' . PHP_EOL . '//' . $_SERVER['REQUEST_TIME'] . PHP_EOL . 'define(\'' . 'PARENT_FILE' . '\', \'' . __FILE__ .'\');' . PHP_EOL . 'define(\'' . 'COMMON_URL' . '\', \'' . COMMON_URL .'\');' . PHP_EOL . 'define(\'' . 'CSS_URL' . '\', \'' . CSS_URL . '\');'; file_put_contents(COMPILED_FILE, $content);}//- FIND HOME URL///* COMPILED FILE<?php//1343481047define('PARENT_FILE', 'W:\home\tt.php\www\trunk\includes\common.php');define('COMMON_URL', 'http://tt.php/trunk/includes/');define('CSS_URL', 'http://tt.php/trunk/includes/design/default/');*/

Отредактировано tipsun (2012.07.28 17:13)

Неактивен

#904 2012.07.26 20:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Еще другой вариант есть.
Как-то так.

Код:

1
span style="color: #0000BB"><?php// some file// Путь до общего файла пишется руками, всегда.define('LEVEL', '../../');require_once LEVEL . 'includes/common.php';// common.php file$myPath = 'includes/design/userDesignName/';$path = dirname($_SERVER['SCRIPT_NAME']);if (DIRECTORY_SEPARATOR <> $path) { $path = 'http://' . $_SERVER['HTTP_HOST'] . '/' . LEVEL . $myPath;}

Неактивен

#905 2012.07.26 22:19

werwap
Гость

Re: Общие вопросы по PHP

чтото не работает, вот пример кода

Код:

1
span style="color: #0000BB"><?php$file = $_GET['file']; $headers = get_headers('http://gruzmob.com/mp3_poisk/dload.php?id=88528254&br=0', true); $pos = strrpos($headers['Content-Disposition'], '='); $filename = substr($str, $pos + 1); $fh = fopen($filename, "r"); while(($str = fread($fh, 1024)) != null) $fsize += strlen($str); header('Content-Length: '.$fsize); header('Content-Type: audio/mpeg'); header('Content-Disposition: attachment; filename='.$filename.''); readfile(''.$filename.'');?>

#906 2012.07.26 23:58

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

werwap, Это уже другой сайт, к которому ты подключаешься, значит и другие методы, возможно.

Код:

1
span style="color: #0000BB"><?php$headers = get_headers('http://flash.mobik.ru/download.php?id=67', true);// Посмотри на заголовки ответа.// Раскомментируй это:/*echo '<pre>';var_dump($headers);echo '</pre>';*/$pos = strrpos($headers['Content-Disposition'], '=');$file = substr($str, $pos + 1);echo $headers['Location'] . $file; //вот же адрес.//echo $headers['Content-Length'][1]; //вот вес.

Неактивен

#907 2012.07.27 01:27

werwap
Гость

Re: Общие вопросы по PHP

не работает, проверь у себя на хосте код

#908 2012.07.27 10:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

werwap, ну ты же не бездумно копируй код. а постарайся понять почему не работает.
Например Content-Disposition не всегда выдается. Можно воспользоваться просто filesize, если нету Content-Length.

Неактивен

#909 2012.07.28 17:16

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Поправил код: p24536

Неактивен

#910 2012.07.29 01:24

werwap
Гость

Re: Общие вопросы по PHP

привет, подскажите пожалоста как определить размер папки с файлами public_html/files

#911 2012.07.29 02:06

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

werwap написал:

привет, подскажите пожалоста как определить размер папки с файлами public_html/files

Как-то так.

Код:

1
span style="color: #0000BB"><?phpfunction size ($var){ if (is_dir($var)) { $d = dir($var); while (($entry = $d->read()) !== false) { if ('.' == $entry or '..' == $entry or 'php' == pathinfo($entry, PATHINFO_EXTENSION)) continue; $unit = $var . DIRECTORY_SEPARATOR . $entry; if (is_dir($unit)) { //$self = __FUNCTION__; //$result += $self($unit); $result += size($unit); } else { $result += filesize($unit); } } $d->close(); } else { $result = filesize($var); } return $result;}

Отредактировано tipsun (2012.07.29 02:28)

Неактивен

#912 2012.07.29 02:56

werwap
Гость

Re: Общие вопросы по PHP

tipsun, большое спасибо

#913 2012.07.29 10:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#914 2012.07.29 23:07

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Можете привести пример, когда нужно использовать и как исключения:
не оборачивать же весь код файла в скобки try.

Код:

1
span style="color: #0000BB"><?phpfunction inverse($x) { if (!$x) { throw new Exception('Division by zero.'); } else return 1/$x;}try { echo inverse(5) . "\n"; echo inverse(0) . "\n";} catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n";}// Continue executionecho 'Hello World';

Из примера, я понимаю, что надо использовать когда есть всяко функции и классы.
Но код ими изобилует.
- - - -
Хоть что-то поконкретней

Код:

1
span style="color: #0000BB"><?php try { // код, который может выбросить исключение } catch(Exception $ex) { //$ex - экземпляр класса Exception // или его наследника }

Исключения нужны там, где код не просто вот так в 10 строк умещается, а где есть сложные структура и иерархии классов, каждый содержит тьму методов, где идут всякие делегации-декорации и прочие паттеры. И тогда throw делается в одном месте (где ошибка выявлена), а catch -- где-то далеко-далеко, где эту ошибку могут обработать.

Плюс ко всему, отличие исклчений от die() в том, что исключение на каком-то промежуточном этапе можно поймать, и, на усмотрение, полностью обработать (например, делать insert, а при DbUniqueError делать update; это если нету replace или insert on duplicate update как в MySQL), перевкинуть другое исклоючение (например, заменить DbUniqueError на EmailALreadyUsedError), или сделать окаточный код (например, rollback) и кинуть исходное исключение.

http://wiki.agiledev.ru/doku.php?id=ooa … tion_using
http://i-novice.net/obrabotka-isklyuchi … j-chast-1/

Неактивен

#915 2012.07.30 10:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, исключения хорошо вписываются в mvc модель. когда модель кидает исключение. а контроллер его перехватывает.

Неактивен

#916 2012.07.30 16:19

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, спс.

Неактивен

#917 2012.07.31 21:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST написал:

Млин,возник такой вопрос, есть код javascript всунутый в страницу,но незнаю как сделать функцию if else,вот там кусок кода
Мне нужно сделать,чтоб если переменная например $zz == 2 то чтоб выводило выводило строки смайлов и цветов, а если $zz != 2 то чтоб скрывалась эта панелька со смайлами и цветами,подскажите плиз как в этом случае сделать if else?

Код:

1
span style="color: #0000BB"><?phpecho '</table><br /></td><td class="textmes">';/*******************************************************/?><div class='anput'><script language="JavaScript" type="text/javascript"> function tag(text1, text2) { if ((document.selection)) { document.message.msg.focus(); document.message.document.selection.createRange().text = text1+document.message.document.selection.createRange().text+text2; } else if(document.forms['message'].elements['msg'].selectionStart!=undefined) { var element = document.forms['message'].elements['msg']; var str = element.value; var start = element.selectionStart; var length = element.selectionEnd - element.selectionStart; element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); document.forms['message'].elements['msg'].focus(); } else document.message.msg.value += text1+text2; document.forms['message'].elements['msg'].focus();}</script><div style="margin:2px;padding:1px;border:1px solid #333">Цвета: <a href="javascript:tag('[red]', '[/red]')"><img src="/style/bb/re.png" alt="red" title="Красный"/></a> <a href="javascript:tag('[green]', '[/green]')"><img src="/style/bb/gr.png" alt="green" title="Зелёный"/></a><a href="javascript:tag('[blue]', '[/blue]')"><img src="/style/bb/bl.png" alt="blue" title="Синий"/></a><br />Cмайлы:<a href="javascript:tag(':-*','')"><img src="/style/smiles/lips.gif" alt=":-*" title=":-*"/></a> <a href="javascript:tag('.ковыр2.','')"><img src="/style/smiles/kovyr2.gif" alt="ковыр" title="ковыр2"/></a><a href="javascript:tag('.ах.','')"><img src="/style/smiles/ah.gif" alt="ах" title="ах"/></a><a href="javascript:tag('.дум.','')"><img src="/style/smiles/dum.gif" alt="дум" title="дум"/></a><a href="javascript:tag('.дружба.','')"><img src="/style/smiles/druzhba.gif" alt="дружба" title="дружба"/></a><a href="javascript:tag(':-D','')"><img src="/style/smiles/biggrin.gif" alt=":-D" title=":-D"/></a><a href="javascript:tag('.ржу.','')"><img src="/style/smiles/rzhu.gif" alt="ржу" title="ржу"/></a><a href="javascript:tag('.неа.','')"><img src="/style/smiles/nea.gif" alt="неа" title="неа"/></a><a href="javascript:tag('.лол.','')"><img src="/style/smiles/lol.gif" alt="лол" title="лол"/></a><a href="javascript:tag('.кофе.','')"><img src="/style/smiles/kofe.gif" alt="кофе" title="кофе"/><a href="javascript:tag('.курит.','')"><img src="/style/smiles/kurit.gif" alt="кур" title="курит"/></a><a href="javascript:tag('.гы.','')"><img src="/style/smiles/gy.gif" alt="гы" title="гы"/></a><a href="javascript:tag('.глаза.','')"><img src="/style/smiles/glaza.gif" alt="глаза" title="глаза"/></a></div></div><?php/*******************************************************/echo "<form method='post' name='message' action='/mail.php?id=$ank[id]&amp;" . rand(1000, 9999) . "' enctype='multipart/form-data'>\n";

Неактивен

#918 2012.07.31 23:27

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

POFIGISST,
так делал?

Код:

1
span style="color: #0000BB"><?phpif ($zz == 2): ?>js code<?phpendif;?>

Неактивен

#919 2012.07.31 23:48

POFIGISST
Участник
Зарегистрирован: 2011.03.20
Сообщений: 1531
Карма: 6
Профиль

Re: Общие вопросы по PHP

tipsun
Спасибо большое,работает))

Неактивен

#920 2012.08.03 23:52

werwap
Гость

Re: Общие вопросы по PHP

привет, у меня сервис сайтов грузит очень БД, можно както испольэовать 2 БД для одного скрипта?

#921 2012.08.07 22:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

используй, в чем дело.

Неактивен

#922 2012.08.07 22:39

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

werwap написал:

привет, у меня сервис сайтов грузит очень БД, можно както испольэовать 2 БД для одного скрипта?

Наверно можно взять из бд некоторые таблицы и поместить на разные серверы. Не на локальном, а удаленном например (мои догадки всего лишь).
- - - -
Можешь в гугле попробовать найти нормальное решение проблемы.

Неактивен

#923 2012.08.08 22:44

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Почему class Registry* делают как singleton, если можно сделать его полностью static?
* ну вместо global.

Неактивен

#924 2012.08.09 10:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun его и делают статическим обычно.

Неактивен

#925 2012.08.12 02:49

poll
Гость

Re: Общие вопросы по PHP

привет, я использую 2 БД в одном скрипте, подскажи пожалоста как подключить запрос
БД1 $users = mysql_query("SELECT COUNT(*) FROM `users`;");


Бд2 $forum = mysql_query("SELECT COUNT(*) FROM `forum`;");

#926 2012.08.12 10:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

вторым параметром у mysql_query передается ресурс соединения с бд. его и используй.

Неактивен

#927 2012.08.12 14:20

pol
Гость

Re: Общие вопросы по PHP

а как обяснить запросу что он должен брать с БД1 даные
а запросу 2 с БД2?

#928 2012.08.12 18:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

выше читай.

Неактивен

#929 2012.08.12 21:15

pool
Гость

Re: Общие вопросы по PHP

непонимаю как

#930 2012.08.12 21:54

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Неактивен

#931 2012.08.19 04:09

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Как php работает с памятью?

Код:

1
span style="color: #0000BB"><?php//Вот интересно обязательно в моем случае надо указывать на присваивание ссылки? static function &get ($key) { if (isset(CacheVars::$buffer[$key])) // Если данные уже закешированы в структуре return CacheVars::$buffer[$key]; if (CacheVars::init()) // Происходит соединени с мемсаче сервером если этого еще небыло CacheVars::$buffer[$key] = CacheVars::$memcache->get($key); // Берем данные с мемкеча если соединение успешно if (!(CacheVars::$buffer[$key] === false || CacheVars::$buffer[$key] === null)) return CacheVars::$buffer[$key]; else return CacheVars::get_file_vars($key); // Берем данные с файла и зиписываем в мемкеч. }// Если большой размер данных а надо только чтение тогда делаю ссылку$var =& MyCalss::get('test');

Вопрос состоит в том обязательно ли мне указывать на ссылку в случае если я далее не буду редактировать полученные данные.
Т.е. копирование данных будет происходить при присваивании или будет создаватся копия при дальнейшем редактировании, если не указана ссылка?
Просто часто встречался с различными вариантами где в целях оптимизации копирование данных/файлов происходить только при потребности.

Неактивен

#932 2012.08.19 15:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

>> мемсаче
мемкэше smile
нет. ссылки не надо. http://habrahabr.ru/post/134784/ php это сам оптимизирует. т.е. память будет израсходована только 1 раз (если данные в о 2 переменной не менять).

Неактивен

#933 2012.08.20 03:41

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

>> мемсаче
мемкэше

Ну да smile
спс полезная статейка

Неактивен

#934 2012.09.06 00:25

Nemastja
Гость

Re: Общие вопросы по PHP

Привет, подскажите как добавить в Бд текст. На пример: в таблице есть поле text и во все записи что есть в поле text  нужно добавить спериди текст (копирайт) . Подскажите пожалоста такой запрос к бд?

#935 2012.09.06 00:33

Nemastja
Гость

Re: Общие вопросы по PHP

Может както так

mysql_query("UPDATE `bib` SET `text` = `text` = cop;");

#936 2012.09.06 00:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
mysql_query("UPDATE `bib` SET `text` = CONCAT(`text`, " ", "копирайт");

Неактивен

#937 2012.09.08 19:51

Maniak
Гость

Re: Общие вопросы по PHP

Привет, я перенес сайт на другой хост и все сообщения на воруме в символах ????? в чем может быть проблема? Форум на БД.

#938 2012.09.08 21:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
mysql_set_charset('utf8');

http://php.net/mysql_set_charset

Неактивен

#939 2012.09.09 00:29

Maniak
Гость

Re: Общие вопросы по PHP

Непомагает, может чтото с новъм хостом не так?

#940 2012.09.09 00:52

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Maniak, нет. С настройкой не так.
Какой библиотекой для работы с БД пользуешься?
В какой кодировке БД?

Неактивен

#941 2012.09.09 12:05

Maniak
Гость

Re: Общие вопросы по PHP

MySQL Сервер: Localhost via UNIX socket Версия сервера: 5.1.63-cll Версия протокола: 10 Пользователь: ser@localhost MySQL-кодировка: UTF-8 Unicode (utf8)

#942 2012.09.09 12:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

на уровне php как подключаешься к бд?

Неактивен

#943 2012.09.09 13:19

Maniak
Гость

Re: Общие вопросы по PHP

<?php
define("MYSQLHOST", "localhost");
define("DBNAME", "chat");
define("DBUSER", "interclu_chat");
define("DBPASS", "5");

//PROTECTION
if(strpos($_SERVER['HTTP_USER_AGENT'], "'") !== false) die();
if(substr($_SERVER['HTTP_USER_AGENT'], 0 , 7) == "SamSunf") die();
if(preg_match("'Nokia(\d{3})/'", $_SERVER['HTTP_USER_AGENT'])) die();

$dbcnx = mysql_connect(MYSQLHOST, DBUSER, DBPASS);

#944 2012.09.09 13:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

вот после mysql_connect напиши, mysql_set_charset('utf8');

Неактивен

#945 2012.09.09 14:29

Maniak
Гость

Re: Общие вопросы по PHP

Непомагает, так и осталось РјРЅРµ очень нрави. Почему ето так на старом хосте все работало?

#946 2012.09.09 14:36

Maniak
Гость

Re: Общие вопросы по PHP

сообщения хранятся в поле msg - cp1251_general_ci

#947 2012.09.09 15:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Maniak измени на utf8_general_ci

Неактивен

#948 2012.10.09 15:20

Sergeij
Гость

Re: Общие вопросы по PHP

Привет, подскажите пожалоста как сделать авторизацию на сесиях? Чтоб ненада каждий день проходить авторизацию.

#949 2013.01.28 16:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Велосипед?

Код:

1
span style="color: #0000BB"><?php/*Что-то типа substr, только для файлов/папок.*/function subdir($path, $begin=0, $count=-1) { $array = array(); if (($od = opendir($path))) { while (false != ($rd = readdir($od))) { if ('.' != $rd && '..' != $rd) { if (0 < $begin) { $begin -= 1; continue; } $array[] = $rd; if (! --$count) { break; } } } } return $array;}

Неактивен

#950 2013.01.28 16:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, я применения не очень вижу

Неактивен

#951 2013.02.01 23:49

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Нужна функция перегона картинки в символы. у DarkDaNTe было на сайте.

Неактивен

#952 2013.02.03 00:23

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Подскажите, как быть с ссылками во view (шаблонах) с CodeIgniter?
Не руками же его писать?
- - - -

Код:

1
span style="color: #0000BB"><?phpecho '<a href="class/method/<?php echo $id; ?>"><?php echo $filename; ?></a>';

Неактивен

#953 2013.02.07 17:56

wweja
Гость

Re: Общие вопросы по PHP

Привет,
подскажите пожалоста как сделать запросы к БД с небольшой нагрузкой на БД?
сейчас у меня вот как:

Код:

1
span style="color: #0000BB"><?php//USER$q = mysql_query("SELECT * FROM `chat_users` WHERE `id` = '".$id."';"); $user = mysql_fetch_array($q); $id = $user['id']; $css = $user['css']; //END USER //ONLINE $online = time() + 900; $update = mysql_query("UPDATE `chat_users` SET `time` = '".$online."', `place` = 0, `ip` = '".getenv ('REMOTE_ADDR')."', `ua` = '".htmlspecialchars(getenv ('HTTP_USER_AGENT'))."', `timevremja` = `timevremja` + IF(NOW() - `timeob` < 500, NOW() - `timeob`, 0), `timeob` = NOW() WHERE `id` = '".$id."';"); //END ONLINE

ето я делал года 4 назад и все было хорошо но сейчас посетителей стало больше и работа скрипта стала медленной.

Отредактировано Gemorroj (2013.02.07 18:26)

#954 2013.02.07 18:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?php//USER$q = mysql_query("SELECT * FROM `chat_users` WHERE `id` = '".$id."';");$user = mysql_fetch_array($q);$id = $user['id'];$css = $user['css'];//END USER//ONLINE$online = $_SERVER['REQUEST_TIME'] + 900;$update = mysql_query(" UPDATE `chat_users` SET `time` = '".$online."', `place` = 0, `ip` = '".$_SERVER['REMOTE_ADDR']."', `ua` = '".mysql_real_escape_string(htmlspecialchars($_SERVER['HTTP_USER_AGENT']))."', `timevremja` = `timevremja` + IF(NOW() - `timeob` < 500, NOW() - `timeob`, 0), `timeob` = NOW() WHERE `id` = '".$id."';");//END ONLINE

как минимум там SQL-injection. вообще, тут особо нечего оптимизировать. Вероятно, проще индексов расставить. Т.к., вероятно, они не проставлены.

Неактивен

#955 2013.02.07 21:15

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Общие вопросы по PHP

wweja написал:

много букав! Переходи на PDO

Код:

1
2
3
4
$q = mysql_query("SELECT * FROM `chat_users` WHERE `id` = '".$id."';");
$user = mysql_fetch_array($q);
$id = $user['id'];
$css = $user['css'

Мне одному показался говнокод?
Это тож само что и if(сиська = 1) echo '1 сиська'; elseif (сиська = 2) echo '2 сиська';   и т.д. big_smile

Отредактировано WapStyle (2013.02.07 21:18)

Неактивен

#956 2013.02.08 07:04

wweja
Гость

Re: Общие вопросы по PHP

напишите пожалоста пример нормального кода?

#957 2013.02.08 07:27

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Общие вопросы по PHP

wweja, http://php.net/manual/ru/book.pdo.php учим, всё на русском и с примерами

Неактивен

#958 2013.02.08 12:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

WapStyle, а ты видел вап-чаты не с говнокодом?
они же все по мотивам бодр-чата сделаны и код там такой же.

Неактивен

#959 2013.02.23 02:17

graberja
Гость

Re: Общие вопросы по PHP

привет, подскажите как можно наложить копирайт на картинку если наложение чужого копирайта меняется (то справа то слева и т.д)?

#960 2013.02.27 15:00

koderrr
Участник
Откуда: мск
Зарегистрирован: 2013.02.27
Сообщений: 1
Карма: 0
Профиль Веб-сайт

Re: Общие вопросы по PHP

graberja написал:

привет, подскажите как можно наложить копирайт на картинку если наложение чужого копирайта меняется (то справа то слева и т.д)?

Наложить копирайт на картинку с копирайтом? Вообще через GD это делается если я правильно вопрос понял

Неактивен

#961 2013.03.03 02:57

voron
Гость

Re: Общие вопросы по PHP

привет, сделал граб а файл скачать нельзя

при клике на файл в грабе вот такая непонятность

Вы запросили файл, расположенный на сервере RuGame.Mobi
RuGame.Mobi - это загрузки и общение с твоими друзьями!
Чтобы скачать файл нажми на ссылку ниже
http://rugame.mobi/android/16840/LostTempleII.apk

ну в самом грабе ссылка на файл прямая, вот
http://rugame.mobi/android/16840/LostTempleII.apk


а при копирование ссылки в строку адереса файл качает (в браузере оперы)

как ето обойти?

#962 2013.03.03 10:20

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

не делай прямую ссылку в грабе (передается реферер) а сделай файл, который будет перенаправлять браузер через заголовок Location (реферер не передется).

Неактивен

#963 2013.03.03 20:13

voron
Гость

Re: Общие вопросы по PHP

Ето тоже не помагает.

Я сделал персер и вставил в файлы свою рекламу (и так сервер без дела 400гб).

Спасибо тебе ты всегда мне помогаешь с php.

#964 2013.03.03 21:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

должно помогать. давай код файла с переадресацией

Неактивен

#965 2013.03.04 02:00

voron
Гость

Re: Общие вопросы по PHP

вот так
<?php
$fid = $_GET['fid'];
header("Location: http://rugame.mobi/android/".$fid."");
?>
тока я уже персер сделал и ето мне не нужно.

Вот помог бы ты мне с определением места положения копирайта на картинке...
яб деньгами одблагодарил (300 рублей).
картинка сдесь http://rugame.mobi/android/8877/

#966 2013.03.04 10:25

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

сделал персер игр,
подскажи как менять в файле jad ето
MIDlet-Jar-URL: http://rugame.mobi/game/67756/MZum_SerK500_by_Stox.jar
MIDlet-Delete-Confirm: More Java rugame.mobi

при копировании файла jad на сервер?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#967 2013.03.04 10:40

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Vamp, даже если ты определишь место, то как избавиться собираешься? Просто вырезать? Заместить - каша получится (если только не сделать фон черным и на нем сделать копирайт свой).
Если даже отрезать ту часть, где находится копирайт, то получится какой-то непонятный скрин.
Можно попробовать найти оригиналы на сайте, но это вообще маловероятно.

Неактивен

#968 2013.03.04 11:19

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

с заменой jar разобрался

$filetext = file_get_contents('http://rugame.mobi/game/'.$file.'');
$filetext=str_replace('rugame.mobi','site.ru', $filetext);


$h = fopen("load/".$filename."_Site_Ru.".$format."","w");

fwrite($h,$filetext)
fclose($h);
Добавлено спустя   3 минуты  42 секунды:
tipsun хочу сделать фон черным и на нем сделать свой копирайт.
главное как определять местоположение.

Оригинал не могу найти, а может его вообще нет smile


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#969 2013.03.04 11:39

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

еще вопрос:
Как в файле jar прочитать текст если файл в архиве jar?
путь к файлу META-INF/MANIFEST.MF

содержание файла MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_26-b03 (Sun Microsystems Inc.)
MIDlet-1: Magic Zum,/icon.png,Mid
MIDlet-Vendor: Qplaze
MIDlet-Name: Magic Zum
MIDlet-Icon: \icon.png
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-2.0
MIDlet-Delete-Confirm: Больше Java - только на RuGame.Mobi


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#970 2013.03.04 13:15

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
var_dump(file_get_contents('zip://file.jar#META-INF/MANIFEST.MF'));

Неактивен

#971 2013.03.04 14:23

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

<?php
include'pclzip.php';
var_dump(file_get_contents('zip://rugame.mobi/game/62184/little_red_riding_hood20128x128.jar#META-INF/MANIFEST.MF'));

?>
ошибка

Warning: file_get_contents(zip://rugame.mobi/game/62184/little_red_riding_hood20128x128.jar#META-INF/MANIFEST.MF) [function.file-get-contents]: failed to open stream: operation failed in /home/wapik/public_html/java/test.php on line 3
bool(false)


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#972 2013.03.04 16:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

вообще, вот так, по смыслу надо было

Код:

1
var_dump(file_get_contents('zip://http://rugame.mobi/game/62184/little_red_riding_hood20128x128.jar#META-INF/MANIFEST.MF'));

zip:// - это дополнительный враппер перепаковывающий налету данные.
но так работать не будет, из-за того, что данные получаем удаленно (http).
поэтому сначала скопируй файл к себе во временную директорию и с ним работай, по окончанию - удаляй.

Неактивен

#973 2013.03.04 17:42

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj
и снова в тупик smile

теперь как мне с помощью
$text=str_replace('rugame.mobi','site.ru', $text);
перезаписать адрес сайта в файле META-INF/MANIFEST.MF  ?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#974 2013.03.04 20:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Для записи, zip:// уже не подойдет. (http://www.php.net/manual/ru/wrappers.compression.php).
Лучше смотреть в сторону более функционального класса ZipArchive.

Код:

1
span style="color: #0000BB"><?php$zip = new ZipArchive;$zip->open('test.jar');// Получаем манифест$manifest = $zip->getFromName('META-INF/MANIFEST.MF');$manifest = str_replace('rugame.mobi', 'site.ru', $manifest);// Удаляем старый манифест$zip->deleteName ('META-INF/MANIFEST.MF');// Добавляем новый манифест$zip->addFromString('META-INF/MANIFEST.MF', $manifest);$zip->close();

Неактивен

#975 2013.03.05 01:46

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj большое спасибо


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#976 2013.03.05 04:43

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

можно как то определить папку С картинкой?

вот ссылка на картинку
http://rugame.mobi/img_add.php?id=30743&pid=2

id - ето наверное папка
pid - номер картинки

оригинал без копирайта есть точно так как копирайт на картинке генерируется в случайном месте.


Наверное час искал оригинал и так не нашел sad

здесь http://jafan.ru/ такой самый ЗЦ как на ругаме.


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#977 2013.03.05 11:18

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

нет. вполне возможно, что файлы вообще вне корневой директории для сервера.

Неактивен

#978 2013.03.05 18:39

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

а как тогда вырезать копирайт...


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#979 2013.03.05 18:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

затереть его

Неактивен

#980 2013.03.05 19:09

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

да,
ну копирайт не на одном месте,
как определять где именно копирайт если положение копирайта генерируется?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#981 2013.03.05 22:10

Karayazi
Участник
Откуда: Georgia
Зарегистрирован: 2009.02.10
Сообщений: 96
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Здравствуйте, в грабе во время скачки файла перенапрвляется на другую страницу с надписью:
We couldn't validate your request, please clear browser cache go back to the game page and select download again.
И по прямой ссылке на файл и через header('Location:
Скажите пожалуйста, как очистить кеш браузера, или как скачать файл?

Неактивен

#982 2013.03.05 23:20

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

на какой сайт граб?

Отредактировано Vamp (2013.03.05 23:21)


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#983 2013.03.06 01:39

Karayazi
Участник
Откуда: Georgia
Зарегистрирован: 2009.02.10
Сообщений: 96
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

phoneky.com/games

Неактивен

#984 2013.03.06 02:05

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

наверное причина в cookies


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#985 2013.03.06 13:09

Karayazi
Участник
Откуда: Georgia
Зарегистрирован: 2009.02.10
Сообщений: 96
Карма: 1
Профиль Веб-сайт

Re: Общие вопросы по PHP

Может есть какое то решение?

Неактивен

#986 2013.03.07 10:30

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

наверное нужно записывать cookies так как на phoneky.com/games чтоб скачать файл.

Отредактировано Vamp (2013.03.07 10:33)


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#987 2013.03.08 19:11

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Общие вопросы по PHP

При частом скачивании с 1 IP у них вместо файла даётся страница рекламы "тенькофф"

Неактивен

#988 2013.03.30 10:14

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет. Вывожу с БД случайную фотку вот так
$query = mysql_query("SELECT `photo`, `nickname`, `id`, `time` FROM `chat_users` WHERE `photo` = 'gif' OR `photo` = 'jpeg' ORDER BY RAND() DESC LIMIT 1;");

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


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#989 2013.03.30 11:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Проще всего, наверное, будет сделать крон задание, на вытягивание фотки и запись в отдельный файл.
Пользователю просто показывать этот файл, без обращений к БД.

Неактивен

#990 2013.03.30 13:24

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

ясно.

вот ище вопрос:
как посчитать посты во всех записях в поле posts (собрать число постов всех пользователей в кучу)

$q = mysql_query("SELECT * FROM `users`");
$f = mysql_fetch_array($q);
echo $f['posts'];


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#991 2013.03.30 13:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
SELECT SUM(`posts`) AS `cnt_posts` FROM `users`

Неактивен

#992 2013.03.31 00:37

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

спасибо


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#993 2013.04.01 12:12

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет, подскажи как добавить картинку в мр3 ?

procedure TForm1.Button1Click(Sender: TObject);
var tag:TID3Tag;
begin
tag.ID:='TAG';
tag.Title:='Название';
tag.Artist:='Исполнитель';
tag.Album:='Альбом';
tag.Year:='2004';
tag.Comment:='Комменты';
tag.Genre:=5; //Жанр
If writeId3Tag('demo.mp3', @tag) then showmessage('Поменяли всё');
end;


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#994 2013.04.01 12:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Delphi чтоли? ты форумом ошибся)

Неактивен

#995 2013.04.14 17:30

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет, как обрезать число


с 26.0249999999999
в 26.02
или
с 3.4249999999999
в 3.42

??


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#996 2013.04.14 19:26

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#997 2013.04.15 01:07

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

ну да, спасибо


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#998 2013.04.21 19:28

troi
Участник
Откуда: Беларусь
Зарегистрирован: 2013.03.17
Сообщений: 12
Карма: 0
Профиль Веб-сайт

Re: Общие вопросы по PHP

всем привет. у меня такой вопрос кто нить может дать пример кода для полосы опыта к онлайн игре то есть полоска с заполнением при наборе опыта а при переходе на новый уровень она обнулялась

Неактивен

#999 2013.05.15 00:24

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Какой класс выбрасывает исключения тип Notice (Предупреждение)?
Пробовал наследоваться от Exception и ErrorExeption они выдают фатальную ошибку. А мне надо выбросить просто предупреждения и что бы оно записалось в лог.

Неактивен

#1000 2013.05.15 10:29

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, функция trigger_error

Неактивен

#1001 2013.05.15 10:31

AND
Участник
Зарегистрирован: 2009.01.23
Сообщений: 87
Карма: 11
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, подойдет функция trigger_error с флагом E_USER_NOTICE ?
Опоздал)

Отредактировано AND (2013.05.15 10:33)

Неактивен

#1002 2013.05.15 11:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Спасибо, пригодится. Написал уже крокодила что бы вел логи) Может понадобится.

Код:

1
span style="color: #0000BB"><?php//include_once ROOT . '/' . SYSTEM . '/function.php'; // Вспомогательные функцииfunction is__writable($path) {//will work in despite of Windows ACLs bug//NOTE: use a trailing slash for folders!!!//see http://bugs.php.net/bug.php?id=27609//see http://bugs.php.net/bug.php?id=30931 if ($path{strlen($path)-1}=='/') // recursively return a temporary file path return is__writable($path.uniqid(mt_rand()).'.tmp'); else if (is_dir($path)) return is__writable($path.'/'.uniqid(mt_rand()).'.tmp'); // check tmp file for read/write capabilities $rm = file_exists($path); $f = @fopen($path, 'a'); if ($f===false) return false; fclose($f); if (!$rm) unlink($path); return true;}class MyException extends Exception { }/* * @name Log * @date 14.05.2013 * @author TLENS */class Log { static private $openLogFile = array(); static private $error = null; static private $log = null; static private $localPath = "Log"; private $logName; private $logData = array(); private $logDir; private $logFileName; private $logFullPath; private $display = false; static public function &init ($name, $mess = null) { if (!isset(Log::$openLogFile[$name])) { Log::$openLogFile[$name] = new Log($name); } Log::$openLogFile[$name]->addMessage($mess); return Log::$openLogFile[$name]; } private function __construct($logName, $display = false) { $this->logName = $logName; $this->display = $display; $this->logFileName = "$this->logName.log"; $this->logDir = ROOT . '/' . DATA . '/' . Log::$localPath . ''; $this->logFullPath = "$this->logDir/$this->logFileName"; if (!file_exists($this->logFullPath)) { $this->addMessage("Created log-file $this->logName"); } } public function __destruct() { //var_dump($this); if (sizeof($this->logData) === 0) { return; } if (!is_dir($this->logDir)) { throw new MyException("Dir '$this->logDir' not found! Plese create this dir."); return; } if (!is__writable($this->logDir)) { throw new MyException("Dir '$this->logDir' puts permission denied! Plese config cmod this dir."); return; } if (file_exists($this->logFullPath) && !is_writable($this->logFullPath)) { throw new MyException("File '$this->logFullPath' fputs permission denied! Plese config this file."); } if (!($fp = fopen($this->logFullPath, 'a'))) { throw new MyException("Falied to open $this->logFullPath!"); } foreach ($this->logData as $log) { $date = date("Y/m/d h:i:s", $log['time']); fputs($fp, "$date [$this->logName]: {$log['mess']}\n"); } fclose($fp); } public function addMessage($mess) { if (!$mess) return; $mess = str_replace("\n", "\n\t", $mess); $this->logData[] = array('time' => time(), 'mess' => $mess); } static public function error($message) { if (!$message) return; if (!Log::$error) { Log::$error = new Log("Error"); } Log::$log->addMessage($message); } static public function log($message) { if (!$message) return; if (!Log::$log) { Log::$log = new Log("log"); } Log::$log->addMessage($message); }}?>

Может можно было это все реализовать в классе MyException но я же не китаец что бы все упрощать)

Неактивен

#1003 2013.05.15 12:28

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, сейчас стандарт де факто в php логгерах - это Monolog.

Неактивен

#1004 2013.05.15 18:12

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Есть ли в php расширение какое то для взаимодействия с программами через через fcgi?

Неактивен

#1005 2013.05.15 18:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

TLENS, по идее самому через сокеты можно сделать. Хотя хз, слишком специфичная задача, не сталкивался сам.

Неактивен

#1006 2013.05.15 20:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Попробую сам написать но уже тесно связанную со своей задачей. меня больше привлекает непрерывное соединение

Неактивен

#1007 2013.06.23 02:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Неактивен

#1008 2013.06.27 14:39

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

tipsun, в google забанили? Вот, посмотри тут: http://www.cyberforum.ru/php/thread157657.html

Неактивен

#1009 2013.06.27 15:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, ты бы просто конкретнее написал что не понятно. а то хз что из этого кода описывать

Неактивен

#1010 2013.09.11 22:06

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет, как можно определить на каких сайтах стоит граббер на мой сайт?


вед в статистике опредиляется только ip


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1011 2013.09.12 03:11

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

вопрос: использует такой код функцию FFmpeg?

и дает такой код большую нагрузку на хост?




КОД

Код:

1
span style="color: #0000BB"><?php$img = cha($_GET['img']); $wh = getimagesize('copy.png'); $fh = getimagesize('http://7ba.ru/'.$img); $rwatermark = imagecreatefrompng('copy.png'); $sx=$fh[0]-$wh[0]-0; $sy=$fh[1]-$wh[1]-0; if(pathinfo($img, PATHINFO_EXTENSION)=='jpg' || pathinfo($img, PATHINFO_EXTENSION)=='jpeg') { $rfile = imagecreatefromjpeg('http://7ba.ru/'.$img); imagecopy($rfile, $rwatermark, $sx, $sy, 0, 0, $wh[0], $wh[1]); } elseif(pathinfo($img, PATHINFO_EXTENSION)=='gif') { $rfile = imagecreatefromgif('http://7ba.ru/'.$img); imagecopy($rfile, $rwatermark, $sx, $sy, 0, 0, $wh[0], $wh[1]); } elseif(pathinfo($img, PATHINFO_EXTENSION)=='png') { $rfile = imagecreatefrompng('http://7ba.ru/'.$img); imagecopy($rfile, $rwatermark, $sx, $sy, 0, 0, $wh[0], $wh[1]); } imagegif($rfile,'', '100'); imagedestroy($rwatermark); imagedestroy($rfile);

Отредактировано tipsun (2013.09.12 12:37)


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1012 2013.09.12 15:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

по ip и определи.

Неактивен

#1013 2013.09.12 22:50

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

а как на счет кода?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1014 2013.10.21 04:10

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Как лучше клеить строки? Чета не нашел никакого примера для правильной работы с частым склеиванием строк.
Может там потоками например, или можно смело клеить $str = $str1 . $str2 . $str3; Просто как правило за такое руки отрывают а в пхп хз как оно работает с памятю?

Неактивен

#1015 2013.10.21 10:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Vamp, не очень код.
TLENS, все ок. используй обычную точку.

Неактивен

#1016 2013.10.21 22:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

TLENS, все ок. используй обычную точку.

Спасибо.

Неактивен

#1017 2013.11.12 14:02

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Не пойму почему url_decode не декодирует &amp;
есть строка типа var1=val1&am;var2=var2&am;
parse_str возвращает array([var1]=> 'val1', [amp;var2] => 'val2'...
urldecode боюсь юзать так как могу нарушить структуру для парсера

Неактивен

#1018 2013.11.12 14:23

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

О помогло htmlspecialchars_decode

Неактивен

#1019 2013.12.28 21:05

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет, как сделать Ограничение скорости отдачи файлов с помощью htaccess  ?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1020 2013.12.28 21:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Vamp, модуль соответствующий под апач нужно поставить. С ходу находится такое http://httpd.apache.org/docs/trunk/mod/ … limit.html

Неактивен

#1021 2013.12.31 18:45

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

Здравствуйте, помогите пожалуйста разобраться с такой проблемой:
есть сайт с выделенным сервером при заходе, прежде чем начать загружаться, возникает задержка, которая иногда доходит до 15-45 сек. При этом иногда при заходе на эту же страницу задержки практически не возникает (даже после отчистки кеша).

досс атаки нет.

Подскажите, в каком направлении копать для решения?
Добавлено спустя   1 минуту  43 секунды:
так же после перезапуска апача все работает нормально минут 3


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1022 2013.12.31 20:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

касается любой и статических страниц? или только php?
во первых ставить мониторинги расходования ресурсов.

Неактивен

#1023 2014.01.01 02:45

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

у меня только php

генерация страницы 0.0256 сек. а грузится 15 секунд


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1024 2014.01.01 12:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#1025 2014.01.01 21:53

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

мониторинги ресурсов - что ето?

сайт тормозит а вот файлы качаются нормально с сайта


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1026 2014.01.01 23:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Vamp, посмотри эту тему http://wapinet.ru/forum/viewtopic.php?pid=26820

Неактивен

#1027 2014.01.03 01:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Vamp попробуй последить за продолжительной трасировкой. Возможно проблема не в твоем сервере.

Неактивен

#1028 2014.01.15 23:23

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

привет, можно лы перезапускать апач без входа в роот панель?


с помощью php

Отредактировано Vamp (2014.01.15 23:24)


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1029 2014.01.16 00:02

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

через консоль. попробуй apachectl restart

Неактивен

#1030 2014.03.15 23:22

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Правильный ход мысли? Если нет, скиньте пожалуйста ссылку на схему работы. Я искал и Symfony, и Yii, но не нашел..


Вложения

Неактивен

#1031 2014.03.16 10:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, MVC да. Все так.

Неактивен

#1032 2014.03.16 11:25

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj, спасибо.

Неактивен

#1033 2014.03.29 16:25

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Не врубаюсь почему json_decode не хочет парсить строку. последняя ошибка выходит JSON_ERROR_CTRL_CHAR. Уже не знаю что ему нужно.
Пытался прогнать текст по этим регуляркам

Код:

1
span style="color: #0000BB"><?php$file = preg_replace_callback("/[a-яА-ЯёЁ]+/ui", function($r) { return rawurlencode($r[0]); }, $file);

Код:

1
span style="color: #0000BB"><?php$file = preg_replace_callback("/\"(.+?)\"([\,\]])/u", function($r) { return '"'. rawurlencode($r[1]) . '"'.$r[2]; }, $file);

вот сам текст


[[["Hello world","Привет мир","","Privet mir"]],,"ru",,[["Hello world",[1],true,false,531,0,2,0]],[["Привет мир",1,[["Hello world",531,true,false],["a hello world",0,true,false]],[[0,10]],"Привет мир"]],,,[["ru"]],1]

Неактивен

#1034 2014.04.09 06:08

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Как удалить битый utf-8 символ. Глянул в гугле там вроде все варианты перекодирования с игнором или какие то велосипеды. Неужели нету встроенной функции?
(Гугл начал возвращать криво обрезанные тайтлы )
добавили называется костыль

Тег <media:title> определяет название видео. Это поле имеет максимальную длину 60 символов или 100 байт – в зависимости от того, какой предел будет достигнут раньше.

Неактивен

#1035 2014.04.09 10:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

что такое "битый utf-8 символ"?

Неактивен

#1036 2014.04.09 15:25

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

что такое "битый utf-8 символ"?


Обрезанный символ на пополам)

Неактивен

#1037 2014.04.09 18:39

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

хм. хз.
как он так обрезался?
может как-нибудь прогнать 2 раза через iconv с параметром IGNORE

Неактивен

#1038 2014.04.10 17:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Gemorroj Да я так и делаю сейчас) Можно один раз из unicode в unicode с игнорированием

Неактивен

#1039 2014.05.06 11:03

alibek_kz
Участник
Зарегистрирован: 2013.07.10
Сообщений: 26
Карма: 0
Профиль

Re: Общие вопросы по PHP

Вопрос к TLENS
как вы сделали скачку видео от ютубе на сайте v-s.mobi?

Неактивен

#1040 2014.05.06 20:36

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

alibek_kz написал:

Вопрос к TLENS
как вы сделали скачку видео от ютубе на сайте v-s.mobi?

Тебе uml проекта предоставить или же сразу исходный код?

Неактивен

#1041 2014.05.06 20:41

alibek_kz
Участник
Зарегистрирован: 2013.07.10
Сообщений: 26
Карма: 0
Профиль

Re: Общие вопросы по PHP

TLENS написал:

alibek_kz написал:

Вопрос к TLENS
как вы сделали скачку видео от ютубе на сайте v-s.mobi?

Тебе uml проекта предоставить или же сразу исходный код?

Исходной код))))

Неактивен

#1042 2014.05.06 20:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

alibek_kz написал:

TLENS написал:

alibek_kz написал:

Вопрос к TLENS
как вы сделали скачку видео от ютубе на сайте v-s.mobi?

Тебе uml проекта предоставить или же сразу исходный код?

Исходной код))))

php ни причем. У меня самописный проксисервер на Go

Неактивен

#1043 2014.05.17 14:35

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

TLENS, я думал это API самого YouTube, не?

Неактивен

#1044 2014.05.17 20:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

tipsun написал:

TLENS, я думал это API самого YouTube, не?

Не совсем. Апи не дает прямые ссылки на файлы но а в остальном то да через него

Неактивен

#1045 2014.06.07 09:35

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Какая роль грависа в php?
Случайно в массиве ввел ключ используя гравис а не кавычки. Боже как же я долго я искал баг.

Неактивен

#1046 2014.06.30 00:15

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

подскажите пожалоста

как передать потоком видео через rtsp?

такой ссылкой rtsp://domen.ru/file.3gp

Отредактировано Vamp (2014.06.30 01:57)


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1047 2014.07.11 16:01

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Vamp написал:

подскажите пожалоста
как передать потоком видео через rtsp?
такой ссылкой rtsp://domen.ru/file.3gp

Собственно нужен тебе сервер. Слышал о модулях для nginx так же мне известно что ffmpeg может транслировать камеру. Не знаю по поводу файлов. Когда то изучал протокол rtsp хотел сделать программу которая будет сохранять потоковое видео. Но забросил. Сейчас nodejs сильно продвигается и у него десятки всяких серверов есть. Возможно найдешь и rtmp, trsp сервер. Если известен тебе js то проблем не должно быть.

Неактивен

#1048 2014.07.12 05:20

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

TLENS к сожелению я js некогда не изучал.
ты за $ можешь мне ето сделать?


подскажите как через .htaccess передать пробел?


какой символ добавить
RewriteRule ^file/([0-9-a-zA-Z0-9._/%+()='-]+)$ sim.php?file=$1 [L,QSA]

такая вот ссылка

http://сайт.net/game/file/Dungeons%20Sword%20Soul%20Awakening%20240x320%20En-Vn.jad



%20 - ето пробел


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1049 2014.07.12 13:11

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

[\ ]

Неактивен

#1050 2014.07.12 18:05

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

Gemorroj спс


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1051 2014.07.19 14:53

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

Vamp написал:

ты за $ можешь мне ето сделать?

Нет

Неактивен

#1052 2014.07.20 14:28

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Общие вопросы по PHP

TLENS спс smile


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#1053 2014.10.07 14:58

semoni
Гость

Re: Общие вопросы по PHP

привет, помогите.

<?
ffmpeg -i input1.mp4 -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.mp4 -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.mp4
?>

почему в етом коде такая ошибка
Parse error: syntax error, unexpected T_STRING in /home/rclu/public_html/test.php on line 2



???

#1054 2014.10.07 15:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Потому что это вообще не php код..)
тебе нужно что-то типа:

Код:

1
span style="color: #0000BB"><?phpexec('ffmpeg -i input1.mp4 -qscale:v 1 intermediate1.mpg');exec('ffmpeg -i input2.mp4 -qscale:v 1 intermediate2.mpg');exec('cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg');exec('ffmpeg -i intermediate_all.mpg -qscale:v 2 output.mp4');

либо руками выполнить в консоли

Неактивен

#1055 2014.10.07 16:04

semoni
Гость

Re: Общие вопросы по PHP

ты бы немог собрать такой скрипт?
за хорошою оплату

#1056 2014.10.07 16:39

semobi
Гость

Re: Общие вопросы по PHP

на PHP нет библиотеки для вставки кадров в видео (И совмещение).

ето правда?

#1057 2014.10.07 19:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

semobi, есть прослойки над консольным ffmpeg. https://github.com/PHP-FFMpeg/PHP-FFMpeg

Неактивен

#1058 2014.10.13 19:45

meison
Гость

Re: Общие вопросы по PHP

привет, подскажите как дать файл на скачку

например http://wapinet.ru/papka/post.mp3

чтобы давать не прямую ссылку на файл а времинную

например так http://wapinet.ru/СгенерувыныйКОД/post.mp3

просто у меня очень много выкачуют другие сайты файлы и сервер умирает от етого.
подскажите пожалойста?

#1059 2014.10.13 20:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

если web-сервер - apache, то rewrite rule правилом.
ссылка:

Код:

1
http://example.com/download/sdfhdfgh435fsgw/file.mp3

правило:

Код:

1
RewriteRule ^download/([a-z0-9])/(.+)?$ /download.php?code=$1&file=$2

Неактивен

#1060 2014.10.13 21:57

meison
Гость

Re: Общие вопросы по PHP

каким способом отдавать файл?


header("Location: http://site.net/file.mp3");

#1061 2014.10.13 22:52

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

meison написал:

каким способом отдавать файл?


header("Location: http://site.net/file.mp3");

Здесь все что тебе нужно http://habrahabr.ru/post/151795/

Неактивен

#1062 2014.10.22 02:42

miseterweb
Гость

Re: Общие вопросы по PHP

привет, подскажите что в етом коде не так?

Код:

1
span style="color: #0000BB"><?phpclass download { public $properties = array('old_name' => '', 'new_name' => '', 'type' => '', 'size' => '', 'resume' => '', 'max_speed' => ''); public $range = 0; public function download($path, $name, $resume = 0, $max_speed = 0) { $name = ($name == '') ? substr(strrchr('/' . $path, '/'), 1) : $name; $name = explode('/', $name); $name = end($name); $file_size = $this->getFilesize($path); $this->properties = array('old_name' => $path, 'new_name' => $name, 'type' => "application/force-download", 'size' => $file_size, 'resume' => $resume, 'max_speed' => $max_speed); if ($this->properties['resume']) { if (isset($_SERVER['HTTP_RANGE'])) { $this->range = $_SERVER['HTTP_RANGE']; $this->range = str_replace("bytes=", '', $this->range); $this->range = str_replace("-", '', $this->range); } else { $this->range = 0; } if ($this->range > $this->properties['size']) $this->range = 0; } else { $this->range = 0; } } public function download_file() { $ctype_arr = array('mp3' => 'audio/mp3'); ($this->range) ? header($_SERVER['SERVER_PROTOCOL'] . ' 206 Partial Content') : header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK'); header("Pragma: public"); header("Expires: 0"); header("Cache-Control:"); header("Cache-Control: public"); header("Content-Description: File Transfer"); $pathinfo = pathinfo($this->properties['old_name']); $ras = $pathinfo['extension']; (array_key_exists($ras, $ctype_arr)) ? header("Content-Type: " . $ctype_arr["$ras"]) : header("Content-Type: " . $this->properties["type"]); header('Content-Disposition: attachment; filename="' . $this->properties['new_name'] . '";'); header("Content-Transfer-Encoding: binary"); if ($this->properties['resume']) header("Accept-Ranges: bytes"); if ($this->range) { header("Content-Range: bytes {$this->range}-" . ($this->properties['size'] - 1) . '/' . $this->properties['size']); header("Content-Length: " . ($this->properties['size'] - $this->range)); } else { header("Content-Length: " . $this->properties['size']); } @ini_set('max_execution_time', 0); @set_time_limit(); $this->_download($this->properties['old_name'], $this->range); } public function _download($filename, $range = 0) { @ob_end_clean(); if (($speed = $this->properties['max_speed']) > 0) $sleep_time = (8 / $speed) * 1e6; else $sleep_time = 0; $handle = fopen($filename, 'rb'); fseek($handle, $range); if ($handle === false) { return false; } while (!feof($handle)) { print (fread($handle, 1024 * 8)); ob_flush(); flush(); usleep($sleep_time); } fclose($handle); return true; } /** * Функция подсчета размера файла */ public function getFilesize($url) { if(file_exists($url)) { return filesize($url); } else { $x = array_change_key_case(get_headers($url, 1), CASE_LOWER); return (strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0) ? $x['content-length'][1] : $x['content-length']; } } } ?>

#1063 2014.10.22 02:45

masterweb
Гость

Re: Общие вопросы по PHP

при нажатии скачать файл через етот класс то все нормально с размером файла, но когда сам файл качается то размер в закачках неопоределен. в чем дело?

#1064 2014.10.22 02:55

misterweb
Гость

Re: Общие вопросы по PHP

скрины
http://wapinet.ru/static/file/2014/10/22//5446e420c7261.jpg
http://wapinet.ru/static/file/2014/10/22//5446e3f6d28dc.jpg

#1065 2014.10.22 11:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

как минимум HTTP_RANGE не верно обрабатывается. и могут быть потенциальные проблемы в строчке "return (strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0) ? $x['content-length'][1] : $x['content-length'];"

Неактивен

#1066 2014.10.22 13:06

misterweb
Гость

Re: Общие вопросы по PHP

как исправить подскажешь?

я не автор кода.

#1067 2014.10.25 23:32

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Короче вот мой бред по поводу Singleton
Типа чтоб каждый раз в классе не писать код Singleton:

Код:

1
span style="color: #0000BB"><?phpclass SomeClass {//+ Singleton private static $_instance; private function __clone() { } private function __wakeup() { } public static function instance() { if (null === self::$_instance) { self::$_instance = new self; } return self::$_instance; } private function __construct() { } //- Singleton}

Я подумал запихать код в отдельный файл-класс и от него нужные классы наследовать..
Вот что-то типа такого:

Код:

1
span style="color: #0000BB"><?php// Singleton.phpclass Singleton{ private static $_instance = array(); public static function instance() { $class = get_called_class(); if (null === self::$_instance[$class]) { self::$_instance[$class] = new $class; } return self::$_instance[$class]; } private function __construct() {} private function __clone() {} private function __wakeup() {}}class Loader extends Singleton{ private $_state; public function register() { if (! $this->_state) { return $this->_state = spl_autoload_register(array($this, '_load')); } } public function unregister() { if ($this->_state) { return ! $this->_state = ! spl_autoload_unregister(array($this, '_load')); } } private function _load($className) { require_once($className . CLASS_EXTENSION); }}

Неактивен

#1068 2014.10.26 11:18

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да-да посмотрел решения в инете, все сводится именно к этому)
единственное что, сам класс Singleton хорошо бы объявить абстрактным.

Неактивен

#1069 2014.10.26 12:06

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

да-да посмотрел решения в инете, все сводится именно к этому)
единственное что, сам класс Singleton хорошо бы объявить абстрактным.

Спасибо

Неактивен

#1070 2014.10.29 18:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как лучше всего передавать конфигу!?
Я вот не знаю, что выбрать:
----
1) Передавать через общего класса-предка

Код:

1
span style="color: #0000BB"><?phpabstract class Progenitor{ protected static $_cfg, $_registry;}

----
2) Создать спец. класс

Код:

1
span style="color: #0000BB"><?phpclass Config{ private static $_cfg; public static function get($arg) { return self::$_cfg[$arg]; }}

----
3) Каждый класс имеет собственные методы для принятия конфиги:

Код:

1
span style="color: #0000BB"><?phpclass SomeClass{ private static $_cfg, $_someParam; public static function setCfg($arg) { self::$_cfg = $arg; }// OR public static function setSomeParam($arg) { self::$_someParam = $arg; }}

----
Для автозагрузчика нужен "корень" и расширение, например.

Неактивен

#1071 2014.10.29 18:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну, универсальнее - 2 вариант. отдельный класс.

Неактивен

#1072 2014.10.29 19:40

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Если делать этим вариантом, то надо делать все классы не статическими, чтоб через конструктор можно было сразу общую конфигу скинуть и забыть. Т.е. все равно в классе мы будем создавать переменную $_cfg

Код:

1
span style="color: #0000BB"><?phpclass SomeClass{ private $_cfg; public function __construct() { $this->_cfg = Cfg::get[__CLASS__]; }}

Допустим можно наследоваться от Progenitor и в определенном классе просто загрузить всю конфигу и забыть

Неактивен

#1073 2014.10.29 20:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

конфиг - синглтон.
Config::getInstance()->get('key');

Неактивен

#1074 2014.10.30 20:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

конфиг - синглтон.
Config::getInstance()->get('key');

Зачем? Почему не static?

Неактивен

#1075 2014.10.30 22:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

а зачем статик? как ты его инициализировать будешь?

Неактивен

#1076 2014.10.31 11:03

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ну через bootstrap можно.

Неактивен

#1077 2015.01.21 21:45

sql555
Гость

Re: Общие вопросы по PHP

привет. Есть запрос

Код:

1
SELECT COUNT(`id`) AS `cnt`, `name`, `score` FROM `table` WHERE `name` = 'aaa' GROUP BY `name` ORDER BY `score` LIMIT 1

и в общем мне нужно, чтобы этот запрос вывел наибольший score, но выводит он вообще как-то странно... Как быть, подскажите.

нужно вывести из таблицы запись с определнным 'name'(это поле у каждого юзера свое - записей с одинаковым нейм может быть в таблице несколько), причем одну. Соответственно, когда я группирую по 'name' - у меня будет только один результат - хоть с LIMIT 1, хоть без него.
И мне нужен именно тот результат, в котором поле 'score' - наибольшее. Поэтому и пытаюсь отсортировать по этому полю в порядке убывания. А mysql сортирует в данном случае "от балды". Т.е. если есть у меня, например, записи со 'score' 1, 2, 3, 4, 5, то они при добавлении/удалении записи сортируются явно не по убыванию.

Помогите?

#1078 2015.01.22 12:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
SELECT COUNT(1) AS `cnt`, `name`, MAX(`score`) AS `max_score` FROM `table` WHERE `name` = 'aaa' GROUP BY `name`

у тебя там сначала группировка, а потом сортировка. Поэтому ты сначала получаешь 1 запись с name = aaa, а потом эту 1 запись сортируешь

Неактивен

#1079 2015.01.22 15:41

sql555
Гость

Re: Общие вопросы по PHP

еще вопрос

Код:

1
$q = mysql_query("SELECT `id`, `subject`, `read`, `from`, `lid`, `time`, MAX(`lid`) AS max, (select count(*) FROM `letters` WHERE `id` = '".$id."' AND `to` = '".$id."') AS cnt FROM `chat_letters` WHERE `id` = '".$id."' AND `to` = '".$id."' GROUP BY `from` ORDER BY `read` = 0 DESC, max DESC LIMIT $start, 10;");

непонимаю почему непроисходит сортировка по `read` = 0 DESC

помогите?

#1080 2015.01.22 15:44

sql555
Гость

Re: Общие вопросы по PHP

ето одна таблица, пропуст дописать chat_ в примере.

#1081 2015.01.22 18:02

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

нельзя указывать условия сортировки. ты можешь указать только колонку по которой сортировать. т.е. ноль там не понятно к чему.

Неактивен

#1082 2015.01.25 10:14

sql555
Гость

Re: Общие вопросы по PHP

Привет.  вот нашол и переделал код наложение копирайта.
все работает, вот задаю себе вопрос "Все ли я нормально собрал"
подскажите?

Код:

1
span style="color: #0000BB"><?php$img = 'file.jpg';$wh = getimagesize('cop.png'); //копирайт$fh = getimagesize($img); //файл$sx=$fh[0]-$wh[0]-3;$sy=$fh[1]-$wh[1]-5;$rfile = imagecreatefromjpeg($img);imagecopy($rfile, $rwatermark, $sx, $sy, 0, 0, $wh[0], $wh[1]);imagejpeg($rfile,'filecop.jpg'); //сохраняемimagedestroy($rfile);

Отредактировано Gemorroj (2015.01.26 11:22)

#1083 2015.01.25 11:10

sql
Гость

Re: Общие вопросы по PHP

Проблема в том что после наложения копирайта картинка стает с 200кб в 135кб

почему так?

#1084 2015.01.26 11:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

если тебя устраивает результат, то нормально.
почему изменился размер не знаю, т.к. не спец в графике

Неактивен

#1085 2015.01.28 22:15

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Качество выстави на максимум на выходе. Кажется тот же imagejpeg имеет 3й параметр качество.
Добавлено спустя   3 минуты  40 секунд:
http://php.net/manual/ru/function.imagejpeg.php

Неактивен

#1086 2015.07.19 13:09

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Всем привет!
есть небольшой кусочек кода
вроде все работает но Гистограмма уходет почему то вниз причем не вся только 1.3.6 из 10
остольные норм

Код:

1
span style="color: #0000BB"><?php$arr = array('20','55','7','189','102','27','200','76','300','210');$arrX = array('Q','W','E','R','T','Y','U','I','O','P');$vizit = 700;Header("Content-type: image/png");$imageY = 150; $im = imageCreate(370, $imageY);//300x120 $colors = imageColorAllocate($im, 0, 0, 0); $color1 = imageColorAllocate($im, 0, 110, 240);for ($x=1; $x<=10; $x++){ $h = round(($arr[$x-1]*$imageY)/$vizit); imageFilledRectangle($im,$x*34-13,$imageY-$h,$x*34+13, $imageY-10, $color1); ImageString ($im, 0, $x*34-13, $imageY-$h-10, round(($arr[$x-1] * 100 / $vizit),1).'%', $color1); } imagePng($im); imageDestroy($im);

Вложения

Отредактировано despod (2015.07.19 13:12)

Неактивен

#1087 2015.07.19 13:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

поправленный вариант:

Код:

1
span style="color: #0000BB"><?php$arr = array('20','55','7','189','102','27','200','76','300','210');$arrX = array('Q','W','E','R','T','Y','U','I','O','P');$visit = 700;//header("Content-type: image/png");$imageY = 150;$im = imagecreate(370, $imageY); //300x120$colors = imagecolorallocate($im, 0, 0, 0);$color1 = imagecolorallocate($im, 0, 110, 240);for ($x = 1; $x <= 10; $x++) { $h = round(($arr[$x - 1] * $imageY) / $visit); $xImageLeft = $x * 34 - 13; $xImageRight = $x * 34 + 13; $yImageLeft = $imageY - $h - 10; $yImageRight = $imageY - 10; $yImageRightPercent = $yImageLeft - 10; $percentString = round(($arr[$x - 1] * 100 / $visit), 1) . '%'; imagefilledrectangle($im, $xImageLeft, $yImageLeft, $xImageRight, $yImageRight, $color1); imagestring($im, 0, $xImageLeft, $yImageRightPercent, $percentString, $color1);}imagepng($im, '/test.png');imagedestroy($im);

Получалось что если колонка размером меньше 10 пикселей (твой отступ), то ломалась логика прорисовки y координат. Сделал отступ по 10 пикселей с обеих y координат.
И еще все функции в php должны быть в нижнем регистре. Не рекомендуется писать как попало используя регистронезависимость некоторых частей php.

Неактивен

#1088 2015.07.19 14:13

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

спасибо грамадное!
на будущее запомню!

Неактивен

#1089 2015.08.08 17:02

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

хранить видео в нескольких форматах (как mp4, 3gp, flv) слишком объемно, позволит ли ffmpeg конвертировать несколько видео в секунду, при явном запросе на требуемый формат, не пожирая все ресурсы? т.е. что дешевле обойдется память на жд или оператив.

Отредактировано koji (2015.08.08 17:04)

Неактивен

#1090 2015.08.09 08:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#1091 2015.08.10 22:04

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Добавляя файл на сайте пользователь может выбрать для него метки
<input type="checkbox" name="labels[]" value="' . $key . '">
<!-- $key - это ID метки в БД -->

При отправке формы проверяю данные

if (isset ($_POST['labels']))
{
       Теперь нужно проверить массив $_POST['labels'] на наличие существования меток, то есть не передали ли хрен пойми что

загнал все метки с базы в массив $labels[$row[0]] = $row[1]; а как теперь сделать проверку не знаю. Нужно как-то перебрать ключи с переданного массива формой и проверить есть ли все они в массиве со всеми метками $labels

как бы проверить?

Отредактировано koji (2015.08.10 22:05)

Неактивен

#1092 2015.08.11 12:18

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Код:

1
span style="color: #0000BB"><?phpforeach ($_POST['labels'] as $postLabel) { if (!in_array($postLabel, $labels)) { throw new Exception('Неизвестная метка "' . $postLabel . '".'); }}

если я правильно понял задачу

Неактивен

#1093 2015.08.11 17:15

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

А можно свой вариант предложить?
Вроде работает.

Код:

1
span style="color: #0000BB"><?php$getTags = array( 'груша', 'яблоко', //'банан', //'арбуз',);$sysTags = array( 'клубника', 'апельсин', 'груша', 'яблоко',);$wrongTags = array();if (($wrongTags = array_diff($getTags, $sysTags))) { echo 'false<br/>'; print_r($wrongTags);} else { echo 'true<br/>'; print_r($wrongTags);}

Неактивен

#1094 2015.08.11 18:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, ну да, твой вариант лучше)

Неактивен

#1095 2015.08.12 00:12

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

tipsun, супер smile

Неактивен

#1096 2015.08.18 09:46

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Всем привет подскажите какой нибуть норм форум поставить! хочу от этого форума основной сайт построить

Неактивен

#1097 2015.08.19 18:22

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Gemorroj, для чего нужно вот это

Код:

1
2
3
if(!defined('PUN')){
exit;
}

что то типо защиты?

Неактивен

#1098 2015.08.19 19:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

despod написал:

что то типо защиты?

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

Неактивен

#1099 2015.08.19 21:15

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

я хочу этот форум поставить ты мне давал давно его !
стоит его ставить?
или уже какой то обнавленный есть?

Отредактировано despod (2015.08.19 21:37)

Неактивен

#1100 2015.08.20 07:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

despod написал:

я хочу этот форум поставить ты мне давал давно его !
стоит его ставить?
или уже какой то обнавленный есть?

http://forum.wapinet.ru/viewtopic.php?id=69 смотри 1 пост

Неактивен

#1101 2015.09.02 08:14

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Привет!
есть кусочек кода

Код:

1
2
3
4
5
6
7
$a = array('q','w','e','r','t','y','u','i','o','p','a','s','d','f');
 
for($i=0;$i<=sizeof($a);$i++){
echo '<tr>';
if($i%4!=0){$n='';}else{$n='<br/>';}
echo $a[$i].$n;
}

выводит он масив так
q
wert
yuio
pasd
f
а нужно
qwer
tyui
opas
df
что тут не правильно?

Неактивен

#1102 2015.09.02 09:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

собери в строку и разбей по 4 символа.

Код:

1
span style="color: #0000BB"><?php$a = array('q','w','e','r','t','y','u','i','o','p','a','s','d','f');$str = implode('', $a);$arr4 = str_split($str, $str);foreach ($arr4 as $val) { echo $val;}

Неактивен

#1103 2015.09.08 08:10

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Cпасибо!
но такой вопрос я вывожу с бд названия
и хочу чтобы шли в 2 колонки  вот и пытаюсь что то организовать

Неактивен

#1104 2015.09.08 13:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

despod, В 2 колонки, это тебе надо html вертеть или я не правильно это представил.

Неактивен

#1105 2015.09.09 11:24

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Что можно добавить в пароль чтобы и его безопасность повысить и БД не навредить?

~ ! @ # $ % ^ & * ) ( _ - + = } { | ? > <

В регулярку просто вписываются символы как preg_match('/^[0-9a-z~!@#$%^&*)(_-+=}{|?><]{6,30}$/iD', $_POST['password']) или требуется как-то извращаться?

Неактивен

#1106 2015.09.09 12:47

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

зачем такие проверки? пусть пользователи вводят что хотят.
проверять стоит только длину пароля и его сложность (тут уже можно просто проверить чтобы пароль не был 123456 и т.п. или писать функцию подсчета сложности пароля).

Неактивен

#1107 2015.09.09 16:48

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Gemorroj, если разрешить вводить все компрометация не получится?

Неактивен

#1108 2015.09.10 06:52

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

koji, пароль пользователя все равно оборачивается в md5(). Ну там + "соль". И при проверке он так же будет проверяться, через md5(). Если пользователь забудет пароль, то предоставляется форма, где он может ввести новый пароль.
Можно реализовать функцию генерирования сложного пароля. Как вариант к своему паролю, на выбор в общем.

Неактивен

#1109 2015.09.10 12:47

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

koji написал:

Gemorroj, если разрешить вводить все компрометация не получится?

что ты компрометировать собрался? если ты ограничиваешь символы в пароле, то скорее ты этим снижаешь его устойчивость, а не увеличиваешь.

Неактивен

#1110 2015.09.24 17:29

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Подскажите кто нибуть для чего например делают в папке с фотками файл index.php - пустой.
Или в папках с другими какими то файлами

Неактивен

#1111 2015.09.25 10:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

mercurial вроде до сих пор не поддерживает добавление пустой папки. т.е. для vcs. еще для web-серверов не настроенных, чтобы не выдало список файлов в директории.

Неактивен

#1112 2015.09.25 12:27

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Все понял спасибо!

Неактивен

#1113 2015.09.25 12:31

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как установить Symfony 2.7.4? На главной только ссылка на файл symfony.phar

Неактивен

#1114 2015.09.25 13:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun написал:

Как установить Symfony 2.7.4? На главной только ссылка на файл symfony.phar

это инсталлятор. запускаешь его так примерно:

Код:

1
php symfony.phar new my_project

php - путь к твоему php
symfony.phar - путь к инсталлятору симфони
new - команда создать новый проект
my_project - название проекта (создаст папку с таким именем)

Неактивен

#1115 2015.09.25 13:11

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Gemorroj написал:

tipsun написал:

Как установить Symfony 2.7.4? На главной только ссылка на файл symfony.phar

это инсталлятор. запускаешь его так примерно:

Код:

1
php symfony.phar new my_project

php - путь к твоему php
symfony.phar - путь к инсталлятору симфони
new - команда создать новый проект
my_project - название проекта (создаст папку с таким именем)

Понял, спасибо. Установил вроде smile

Неактивен

#1116 2015.09.28 08:30

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Приветствую !
есть такой вопрос
есть $_FILES["file"]["tmp_name"]
если я буду с помощью GD перегонять изображения
это мне поможет защетить от шелов и всякую дребедень чтобы не  закинули?

Неактивен

#1117 2015.09.28 09:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

despod, не раскрыто что именно ты будешь делать.

Неактивен

#1118 2015.09.28 12:43

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Пользователи будут загружать  изображения,  jpg,  GIF, PNG,
Ведь если графикой не будет       imagecopyresampled  сам по себе выдаст ошибку,

Отредактировано despod (2015.09.28 12:44)

Неактивен

#1119 2015.09.28 13:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

у тебя ошибка должна быть еще до imagecopyresampled. на этапе создания ресурса изображения.

Неактивен

#1120 2015.09.28 14:17

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Может какой еще способ защиты есть? Еще лучше?

Неактивен

#1121 2015.09.28 15:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

нужно конкретную реализацию смотреть. в целом, хватит ошибки при создании ресурса.

Неактивен

#1122 2015.09.28 18:04

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Ясно,и такой вопрос картинки лучше скриптом отдавать? Или примыми ссылками?

Неактивен

#1123 2015.09.28 18:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#1124 2015.09.29 11:47

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Что то не сображу если честно как прямую ссылку  проверить?  Я просто хотел с помощью хетачеса доступ в папку закрыть и скриптом выдовать,  хотя это не лучший вариант хочется хоть что то свое сделать толковое чтобы не говном было

Неактивен

#1125 2015.09.29 13:14

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

толковое - используй фреймворки)
например в симфони BinaryFileResponse из компонента HttpFoundation http://symfony.com/doc/current/componen … ction.html
писать такие низкоуровневые вещи стоит только ради изучения или если нет возможности использовать готовые решения.
а вопроса не понятл твоего. прямая ссылка на то и прямая, что ее содержимое отдаст веб-сервер минуя php.

Неактивен

#1126 2015.09.29 14:26

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Не разу не пробывал с фремворками работать! Вот бы на русском что нибуть найти!  Сегодня почитаю спасибо

Неактивен

#1127 2015.09.29 16:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

попробуй yii2

Неактивен

#1128 2015.09.30 10:39

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Оо почилал влегкую о yii,  там получается с помощью команд создаются классы,  практически писать ни чего не надо,  как я понял

Неактивен

#1129 2015.09.30 13:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да, у них веб интерфейс даже есть вроде gii называется. но оно создает структуру только, логику все равно тебе писать придется.

Неактивен

#1130 2015.09.30 14:56

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

что то не могу установить делал все по этому  Уроку


Вложения

Отредактировано despod (2015.09.30 14:56)

Неактивен

#1131 2015.09.30 15:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

подозреваю, что php не настроен должным образом
Добавлено спустя    51 секунду:
и ты устанавливаешь yii1, а надо yii2. и устанавливается он через composer

Неактивен

#1132 2015.09.30 15:14

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

я с оф сайта качнул yii где там второй? http://www.yiiframework.com/download#yii2
ссыль откуда качал! я на денвер пытаюсь поставить

Неактивен

#1133 2015.09.30 19:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

ну таи там тебе про composer и говорят

Неактивен

#1134 2015.09.30 21:12

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

а все разобрался теперь ток опенсервер поставить нид чего не особо хочу делать но ковырнуть охото

Неактивен

#1135 2015.09.30 23:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

денвер давно умер. его место занял оупен сервер. так что ставь не раздумывая.

Неактивен

#1136 2015.10.01 13:04

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Спасибо, привык так к денверу,  других не видел, 
Вот еще вопрос есть класс пдо подключения к бд,  как его унаследовать?

Неактивен

#1137 2015.10.01 15:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

как и любой другой класс

Неактивен

#1138 2015.10.03 23:09

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Вот есть класс

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class DB {
private $instance;
public function run() {
 
try {
$this -> instance = new PDO('mysql:host=localhost;dbname=win', 'win', '123456');
$this -> instance = exec('SET CHARACTER SET utf8');
$this -> instance = exec('SET NAMES utf8');
}
catch (PDOException $e) {
exit('Connection failed: '.$e -> getMessage());
}
return $this -> instance;
}
 
public function __destruct() {
$this -> instance = null;
}
 
}

и еще 1

Код:

1
2
3
4
5
6
7
8
9
10
11
class a {
private $inst;
public function __construct() {
$this -> inst = new DB();
$this -> inst = $this -> inst -> run();
}
function queryFetch($sql) {
$st = $this -> inst -> query($sql);
return $st -> fetch();
}
}

пытаюсь вывести

Код:

1
2
$z = new a();
var_dump($z->queryFetch("SELECT * FROM `users` WHERE `id`=1"));

Вылазеет ошибка незнаю что за х,
Fatal error: Call to a member function query() on a non-object in Z:\home\test.td\www\include\iniSet.php on line 56
что не так сделал?

Отредактировано despod (2015.10.04 01:12)

Неактивен

#1139 2015.10.04 10:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

$this -> instance = exec('SET CHARACTER SET utf8');
        $this -> instance = exec('SET NAMES utf8');
вот в этом проблема.

Неактивен

#1140 2015.10.04 12:05

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

спасибо решил проблему так
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'");
$this -> instance = new PDO('mysql:host=localhost;dbname=person', 'person', '123456',$this->options);
заработало
вобще такое решение с классами как сделал я это нормально? не каких косяков нет в нних?

Неактивен

#1141 2015.10.04 12:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

кодировку можно (и нужно) указывать в dsn.

Код:

1
mysql:host=localhost;dbname=person;charset=UTF8

Неактивен

#1142 2015.10.04 13:37

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

в моем случае
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'");
$this -> instance = new PDO('mysql:host=localhost;dbname=person;charset=UTF8', 'person', '123456',$this->options);
$options тогда можно убрать совсем?

Неактивен

#1143 2015.10.04 14:43

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Подскажите, чем можно отыскать хотя бы одно совпадение из списка:
['яблоко', 'солнце', 'воду']
в переменной
$str = 'Жираф пил воду';
т.е. нужно пропустить все значения массива.

Неактивен

#1144 2015.10.04 15:15

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

вот может пригодиться

Код:

1
2
3
4
5
6
7
8
9
10
11
12
$arr = array('яблоко','солнце','воду');
$str = 'Жираф пил воду';
$i = array();
 
foreach($arr as $v){
if(strpos($str,$v)!=false){
$i[0]=count($v);
}
}
 
echo 'Совпадений ['.$i[0].']';

хотя совподение только одно будет

Отредактировано despod (2015.10.04 15:24)

Неактивен

#1145 2015.10.04 19:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

koji написал:

Подскажите, чем можно отыскать хотя бы одно совпадение из списка.

http://php.net/in_array

Неактивен

#1146 2015.10.05 08:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как лучше сделать?
Сгруппировать характеристики товара (группы с подгруппами и т.д.)
Или
Создать метки и под определенную категорию товара "рисовать" шаблон отображения выстраивая нужные группы и т.п. самому, вручную

Неактивен

#1147 2015.10.05 10:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

2 вариант не понял

Неактивен

#1148 2015.10.05 11:27

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Что-то типа такого, что-ли, не знаю. Сам пока норм не надумал.


- Общие характеристики
[block name="common"]
Тип: смартфон
Операционная система: Android 4.2
Тип корпуса: классический
Управление: сенсорные кнопки
Тип SIM-карты: обычная
Количество SIM-карт: 2
Вес: 123 г
Размеры (ШxВxТ): 65x125.5x12 мм
[/block]
- Экран
[block name="display"]
Тип экрана: цветной IPS, сенсорный
Тип сенсорного экрана: мультитач, емкостный
Диагональ: 4 дюйм.
Размер изображения: 800x480
Число пикселей на дюйм (PPI): 233
Автоматический поворот экрана: есть
[/block]
- Мультимедийные возможности
[block name="media"]
Фотокамера: 5 млн пикс., встроенная вспышка
Запись видеороликов: есть
Фронтальная камера: есть, 0.3 млн пикс.
Аудио: MP3, AAC, WAV, WMA, FM-радио
Разъем для наушников: 3.5 мм
[/block]
- Связь
[block name="network"]
Стандарт: GSM 900/1800/1900, 3G
[/block]
- Интерфейсы
[block name="interfaces"]
Wi-Fi: 802.11n
Bluetooth: 4.0
USB: micro-USB
Спутниковая навигация: GPS
Использование в качестве USB-накопителя: есть
[/block]
- Память и процессор
Процессор: MediaTek MT6572, 1200 МГц
Количество ядер процессора: 2
Видеопроцессор: Mali-400 MP
Объем встроенной памяти: 4 Гб
Объем оперативной памяти: 512 Мб
Слот для карт памяти: есть, объемом до 32 Гб
- Питание
Тип аккумулятора: Li-Ion
Емкость аккумулятора: 1500 мАч
Аккумулятор: съемный
Время разговора: 5 ч
Время ожидания: 300 ч
- Другие функции
Управление: голосовой набор, голосовое управление
Режим полета: есть
- Дополнительная информация
Комплектация: смартфон, аккумуляторная батарея, USB-кабель, сетевой адаптер, наушники, руководство

Неактивен

#1149 2015.10.05 12:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

аа, ну 2 вариант наверное более человекопонятный, если сделать хорошо, но более трудоемкий)
хотя я по юзеринтерфейсу ничего не смыслю.

Неактивен

#1150 2015.10.07 20:28

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Как победить date.timezone?
Вроде везде указано: date.timezone = "Europe/Moscow". Sf2 ругается.
Использую OpenServer.

Неактивен

#1151 2015.10.07 20:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Не везде скорее всего. Там в 2 местах нужно указывать. В меню открывающемся по правому клику на иконке в трее оупен сервера, нахожишь конфиг php. Там указываешь. Это для web сервера. И в консольном php, который в стандартном php.ini . В папке modules кажется он.

Неактивен

#1152 2015.10.07 21:22

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Общие вопросы по PHP

Вот в чем дело! Ой позорище..
Оказывается я дебил, в OpenServer есть ведь командная строка PHP..
А я через обычную cmd.exe..

Неактивен

#1153 2015.11.24 17:25

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Нашел ругулярку для проверки названия файла, то есть file_mus-ic.mp3

if (preg_match('/^[a-z_-]+\.[0-9a-z]{3}$/iD', $file))
    echo 'все ОК';

С "i" понятно, он пускает Заглавные буквы. А что "D" делает?
в мануале пишут "любой символ, кроме десятичной цифры" но пишу десятичную и пускает, видимо потому что есть "0-9a-z", может он вообще тогда там не нужен?

Неактивен

#1154 2015.11.25 11:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

Неактивен

#1155 2015.12.08 20:47

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Подскажите, как получить продолжительность видео и его разрешение с помощью ffmpeg через функцию exec() в php?

Неактивен

#1156 2015.12.08 23:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

посмотри этот репозиторий https://github.com/PHP-FFMpeg/PHP-FFMpeg

Неактивен

#1157 2015.12.13 14:22

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Duration: 00:07:00.46, start: 0.000000, bitrate: 2049 kb/s"
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1983 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc"

Как в инфе о видео можно вырезать ?
00:07:00     —   время
h264           —   кодек
1280x720    —   разрешение

Неактивен

#1158 2015.12.13 14:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

это ты консолью воспользовался? как ты этот вывод получил? указанный репозиторий предоставляет хорошую обертку над ffmpeg и есть готовые методы для получения нормальных данных.

Неактивен

#1159 2015.12.13 15:12

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Gemorroj, да командой, у меня выхода нет, все равно приходится разбивать ролик на кадры чтобы сделать предпросмотр к видео

Код:

1
span style="color: #0000BB"><?php// $videoPath - путь к видео// $tmpPath - путь сохранения кадров видео $output = shell_exec('/usr/bin/ffmpeg -i ' . $videoPath . ' -an -y ' . $tmpPath . '/%d.jpg 2>&1');// одна строка разбивает видео и извлекает инфу

готовый класс будет излишним, я больше ничего не делаю
данные в $output
мне кажется, их можно вытащить одной регуляркой, ведь все в одной строке, но для меня это очень сложно

Отредактировано koji (2015.12.13 15:24)

Неактивен

#1160 2015.12.13 16:47

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

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

Неактивен

#1161 2015.12.13 17:06

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

он может создавать предпросмотр к видео?

Неактивен

#1162 2015.12.13 19:52

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да, можно отрезать кусок и сконвертировать в нужный формат

Неактивен

#1163 2015.12.28 22:08

koji
Участник
Зарегистрирован: 2014.07.13
Сообщений: 72
Карма: 3
Профиль

Re: Общие вопросы по PHP

Шаблон 12:15:11; повторяется 4 раза, но в конце отсутствует ;

preg_match('/^\d{2}:\d{2}:\d{2};\d{2}:\d{2}:\d{2};\d{2}:\d{2}:\d{2};\d{2}:\d{2}:\d{2}$/D', $_POST['time'])

Становится непонятно.

Можно записать единожды \d{2}:\d{2}:\d{2}; указать количество повторений 4 и отсутствие ; в конце ?

Неактивен

#1164 2015.12.29 09:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

я бы оставил как есть

Неактивен

#1165 2016.02.28 15:58

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Здравствуйте ребята!
возник небольшой вопрос точнее не могу алгоритм понять
есть цыкл
for(Что то тут){
вывод чего то
но в этом цыкле хочу еще и аватарки выводить
но в голову приходит ток 1 вариант
mysql_query(..............);
это же не есть хорошо в цыкле такие вопросы выполнять?



}
если кто то знает как реализовать аватарки пользователей
поделитесь пожалуйста

Неактивен

#1166 2016.02.28 20:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

во первых не нужно вообще использовать расширение mysql, нужно использовать 1 - pdo, 2 - mysqli.
можно, например, подготовить запрос вне цикла, а выполнять в цикле, можно выполнить 1 sql запрос вне цикла с перечнем id через условие IN, и в цикле доставать их.

Неактивен

#1167 2016.02.28 23:44

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

попробую завтро покажу что вышло

Неактивен

#1168 2016.03.01 09:26

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 73
Карма: 0
Профиль

Re: Общие вопросы по PHP

Что то ни чего не выходит sad
Есть мной написанный кривой класс

есть две таблицы юзер и комната ! это чатик

Код:

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
class pg{
private $myConect;
private $total;
private $page;
private $postrow=array();
private $result;
public $num;
public $posts;
private $dir;
private $Url;
private $avatar;
private $linkId;
private $av;
 
function setPage($conect,$param,$param2,$urlPage){
$this->Url=$urlPage;
$this->myConect=$conect;
$this->result=$result;
//$this->sql=$param;
$this->num = 5;
// Извлекаем из URL текущую страницу
$this->page = $_GET['page'];
// Определяем общее число сообщений в базе данных
//$this->result = mysql_query($param,$this->myConect);
//$this->posts = mysql_result($this->result, 0);
// Находим общее число страниц
$this->total = intval(($param - 1) / $this->num) + 1;
// Определяем начало сообщений для текущей страницы
$this->page = intval($this->page );
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($this->page ) or $this->page < 0) $this->page = 1;
if($this->page > $this->total) $this->page = $this->total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $this->page * $this->num - $this->num;
// Выбираем $num сообщений начиная с номера $start
$this->result = mysql_query("".$param2." LIMIT $start, ".$this->num."",$this->myConect);
// В цикле переносим результаты запроса в массив $postrow
while ( $this->postrow[] = mysql_fetch_array($this->result));
}
 
function getMessage(){
echo "<table border='0' width='100%'>";
for($i = 0; $i < $this->num; $i++)
{
if($this->postrow[$i]['aid']!=0){
if( $this->postrow[$i]['aid'] == '2' ) { $topic_bot = '<img src="'.DIR.'/template/img/vunderkind.gif" alt="" border="0">';}
elseif( $this->postrow[$i]['aid'] == '3' ) { $topic_bot = '<img src="'.DIR.'/template/img/traxtenberg.gif" alt="" border="0">';}
elseif( $this->postrow[$i]['aid'] == '4' ) { $topic_bot = '<img src="'.DIR.'/template/img/mazafaka.gif" alt="" border="0">';}
 
[color=red] Вот тут нудно выыести Аватарку юзера[/color]
else { $topic_bot = ''; }
echo "<tr>
<td width='7%' style='padding:2px 5px 2px 8px;border:1px solid #CCCCCC'>".$topic_bot."
<br/><a href=\"addto.php".$this->Url."&amp;nocache=$nocache&amp;uid=".$this->postrow[$i]['aid']."\">".$this->postrow[$i]['nickname']."</a>
<br/>".$this->postrow[$i]['time']."</td>
<td style='padding:2px 5px 2px 8px;border:1px solid #CCCCCC'>".$this->postrow[$i]['msg']."</td>
</tr>";
}
}
echo "</table>";
}
function getPage(){
if ($this->page != 1) $pervpage = '<a href= '.($this->Url).'&page=1><<</a>
<a href= '.($this->Url).'&page='. ($this->page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($this->page != $this->total) $nextpage = ' <a href= '.($this->Url).'&page='. ($this->page + 1) .'>></a>
<a href= '.($this->Url).'&page=' .$this->total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($this->page - 2 > 0) $page2left = ' <a href= '.($this->Url).'&page='. ($this->page - 2) .'>'. ($this->page - 2) .'</a> | ';
if($this->page - 1 > 0) $page1left = '<a href= '.($this->Url).'&page='. ($this->page - 1) .'>'. ($this->page - 1) .'</a> | ';
if($this->page + 2 <= $this->total) $page2right = ' | <a href= '.($this->Url).'&page='. ($this->page + 2) .'>'. ($this->page + 2) .'</a>';
if($this->page + 1 <= $this->total) $page1right = ' | <a href= '.($this->Url).'&page='. ($this->page + 1) .'>'. ($this->page + 1) .'</a>';
 
// Вывод меню
return '<span style="background:#CCCCCC;padding:4px;margin:12px 10px 19px 10px">
'.$pervpage.$page2left.$page1left.'<b>'.$this->page.'</b>'.$page1right.$page2right.$nextpage.'</span><br/>';
}
 
}

вобщем как применить до цикла так и не получилосьsad

Неактивен

#1169 2016.03.01 14:49

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Общие вопросы по PHP

despod смотри перебираешь нужных пользователей и пишешь их id в масив. После делаешь выборку с базы всех этих пользователей одним запросом

Код:

1
span style="color: #0000BB"><?php$usersIdStr = implode(', ', $usersId);$query = "SELECT `id`, `avatarka` FROM `TABLE_NAME` WHERE `id` IN ($usersIdStr)";

далее уже дело за простым. А вообще можно хранить иконку аватарки в папке и в имени картинки вставить id юзера. Протом просто подставляешь в url

Код:

1
<img src="/img/avatarki/<?= $userId ?>.png" alt="" />

Неактивен

#1170 2023.12.27 10:44

unanidaRa
Участник
Зарегистрирован: 2023.12.26
Сообщений: 1
Карма: 0
Профиль Веб-сайт

Re: Общие вопросы по PHP

Как можно создать предпросмотр к видео, и вопрос к Gemorroj: Как правильно реализовать вывод аватарок пользователей в цикле без использования расширения mysql?


smile

Неактивен

#1171 2023.12.27 11:52

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

можно использовать ffmpeg с php оберткой https://github.com/PHP-FFMpeg/PHP-FFMpeg
про mysql + цикл не понял. В бд ты хранишь название аватарки, в файловой системе саму аватарку.

Неактивен

#1172 2024.01.06 22:19

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Общие вопросы по PHP

unanidaRa написал:

вот даже я них не понял, вывод аватарок без mysql,а где данные о юзерах хранятся?

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.439 s