Ответы пользователя по тегу PHP
  • Определение северозападный регион по IP, для показа тел номера?

    powder96
    @powder96
    Попробуйте Sypex Geo — это очень шустрая php библиотека для определения местоположения пользователя по IP адресу. sypexgeo.net/ru/download/
    Ответ написан
  • PHP shell detecter

    powder96
    @powder96
    Я бы сделал по другому: сначала на чистом движке считаете контрольную сумму всех файлов (чтобы нельзя было изменить файл), а также контрольную сумму списка файлов (чтобы нельзя было добавить или удалить файл). А затем каждые 24 часа проводите тоже самое, а затем сравниваете результаты: если контрольные суммы равны, то все ОК, а иначе — тревога.

    А еще есть бекапы.

    Антивирусов таких, я думаю, просто не существует.
    Ответ написан
    Комментировать
  • Как протестировать сайт

    powder96
    @powder96
    ИМХО, тут нужно написать простенького паучка, который ходит по ссылкам, и натравить его на локальную копию сайта.

    Сначала скачиваете страницу сайта. Проверяете, нет ли на ней PHP Notice/Error/Warning. Потом вытаскиваете все ссылки регуляркой. Затем для каждой еще не проверенной ссылки, делаете вышеописанное.
    Ответ написан
  • PHP. Запись в файл в кодировке UCS-2?

    powder96
    @powder96
    Не туда отправил ответ…

    Попробуйте функцию iconv(): www.php.net/manual/en/function.iconv.php. При геммороях с кодировками помогает.
    Ответ написан
    Комментировать
  • Чем можно закриптовать коммерческий PHP-скрипт?

    powder96
    @powder96
    Сделать API на своем сервере, а продавать открытые клиенты-пустышки с персональными ключиками к этому API. Железный вариант.
    Ответ написан
    1 комментарий
  • Как упростить разработку на php новичку?

    powder96
    @powder96
    > Пишу в Notepad++ по ftp заливаю на хост и тестирую. Не очень удобный способ.
    Можно настроить локальный сервер, либо если нет желания ковыряться установить Денвер. Тогда заливать по FTP не придется — одним шагом меньше.

    > Я в php новичок
    Поставьте себе задачу — сделать какой-нибудь средний по размеру проект (простенькая CMS, движок блога, социалка), главное чтобы Вам было интересно его делать. Напишите TODO-лист, и постепенно его выполняйте. Пока Вы будете придумывать архитектуру своего проекта, рисовать структуру БД, да и просто кодить, Вы очень многому научитесь.
    Ответ написан
    Комментировать
  • PHP → Вывод массива в таблицу

    powder96
    @powder96
    Написал две функции, которые могут вам пригодится: одна для вычисления ширины таблицы (глубины массива) — чтобы можно было правильно нарубить таблицу на строки, и вторая для вычисления высоты произвольной ячейки — чтобы можно было выставить rowspan. Все функции рекурсивные.

    // красивооформленный массив см. в моем дополнении к вопросу
    $input = array('bmw'=>array('x3'=>array('black','white','...'=>array('...'),'other'=>
    array('something','something')),'x5'=>array('black','white','...'=>array('...'))),'audi'=>
    array('...'=>array('...'=>array('...'))));
    
    echo' Table dimensions: ' . arrayVizualize_tableWidth($input) . ' x ' . arrayVizualize_tableHeight($input);
    echo '<br />';
    echo '<b>bmw</b> rowspan is: ' . arrayVizualize_tableHeight($input['bmw']);
    
    function arrayVizualize_tableWidth($array, $currDepth = 1) {
    	$maximalDepth = $currDepth;
    	foreach($array as $element)
    		if(is_array($element)) {
    			$elementDepth = arrayVizualize_tableWidth($element, $currDepth + 1);
    			if($elementDepth > $maximalDepth)
    				$maximalDepth = $elementDepth;
    		}
    		
    	return $maximalDepth;
    }
    
    function arrayVizualize_tableHeight($array) {
    	if(!is_array($array))
    		return 1;
    
    	$height = 0;
    	foreach($array as $element) {
    		if(is_array($element))
    			$height += arrayVizualize_tableHeight($element);
    		else
    			++$height;
    	}
    	
    	return $height;
    }
    
    Ответ написан
    Комментировать
  • PHP - Вывести ошибки в нужное место шаблона?

    powder96
    @powder96
    Все очень просто. Инициализируете переменную, в которую Вы будете складывать ошибки. Затем, ставите некую фнукцию как обработчик ошибок. После делаете так, чтобы функция складывала ошибку в переменную. Готово.

    $errors = '';
    
    set_error_handler('errorHandler'); // обязательно почитайте про это функцию на php.net
    
    function errorHandler($errno, $errstr, $errfile, $errline) {
        global $errors;
        $errors .= 'An error occured. ' . $errstr . ' at ' . $errfile . ':' . $errline . '<br />'
    }
    
    Ответ написан