Различные вопросы по PHP и MySQL

101K
.
# Swank (02.01.2015 / 15:01)
Andrei4ik93, Попробывал просто public так оно мне Fatal error: Access to undeclared static property: client::$ip
можно в класе создать такое
function getIp() {
return $this->$ip;
}
И потом client::getIp();
.
Swank
Сексуальность валенка
adust, Лад буду тогда методы делать которые возрашают данные, жаль что нельзя как я хочу
Хотя можно так client::$ip; тогда усё работает, наверно так и буду делать
.
# Swank (02.01.2015 / 14:33)
Ещё вопрос
Есть такой код:
[php]
<?php
class client {
public static $ip;
public static $ip_via_proxy;
public static $agent;
public static $is_mobile;
public static $referrer;

public functi
$client->ip без знака доллара
.
Сексуальность валенка
ramzes, Я так по началу и делал но мне выдало ошибку решил с $ попробовать, лад все уже делаю так client::$agent
.
Rakovskiy
The Fast, Secure and Professional - Yii2
Swank, При инициализации свойства, метода конструктор не вызывается.

class client {
public static $ip;
public static $ip_via_proxy;
public static $agent;
public static $is_mobile;
public static $referrer;

public static function init() {

// Получаем UserAgent
 if (isset($_SERVER["HTTP_X_OPERAMINI_PHONE_UA"]) && strlen(trim($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) > 5) {
self::$agent = 'Opera Mini:' . htmlspecialchars(mb_substr(trim($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']), 0, 150));
 } elseif(isset($_SERVER['HTTP_US ER_AGENT'])) {
self::$agent = htmlspecialchars(mb_substr(trim($_SERVER['HTTP_USER_AGENT']), 0, 150));
 } else {
self::$agent = 'Нет записи';
 }

// Получаем IP адреса
        $ip = ip2long($_SERVER['REMOTE_ADDR']) or die('У вас проблемы с ip адресом');
        self::$ip = sprintf("%u", $ip);
      // Ip за проксы
        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $vars)) {
            foreach ($vars[0] AS $var) {
                $ip_via_proxy = ip2long($var);
                if ($ip_via_proxy && $ip_via_proxy != $ip && !preg_match('#^(10|172\.16|192\.168)\.#', $var)) {
                    self::$ip_via_proxy = sprintf("%u", $ip_via_proxy);
                    break;
                }
            }
        }




}



}


Где нибудь в начале скрипта

client::init();

И потом в любом месте client::$ip;
А вообще правильней разбить всё на методы
.
Как сделать чтобы после 10-15 слов был ... а то вот так получаеться (скрин внизу)
Прикрепленные файлы:
.
Ego vir viden
# studiouz (02.01.2015 / 22:41)
Как сделать чтобы после 10-15 слов был ... а то вот так получаеться (скрин внизу)
Слов или букв???
.
ValekS
Ей 25
studiouz, по словам никак не получится обрезать. Не, ну хотя можно что-то набыдлокодить... Но лучше по символам обрезать. Ведь слова могут длинными быть.
$cut = 100; // кол-во обрезаемых символов

if (mb_strlen($text) > $cut) {
$text = mb_substr($text, 0, $cut);
echo $text.'...'; 
} else {
echo $text;
}
.
selemet, Извени хотель писать букву
.
ValekS, спасибо получилос ! +5
Всего: 7969