Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Глобальные переменные на Php

7.3K
16 августа 2005 года
tot
25 / / 24.03.2005
Есть необходимость сделать массив видимым на протяжении всей работы. Тоесть сделать его глобальным. Создаю его на одной странице а можно его видеть и на другой. Пробовал его передать как <страница>.php?arr=$arry но далее это arr конечно видно но непонятно что это за переменная, тоесть по echo ("$arr") на <страница> ничего не выводится.
299
16 августа 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by tot
Есть необходимость сделать массив видимым на протяжении всей работы. Тоесть сделать его глобальным. Создаю его на одной странице а можно его видеть и на другой. Пробовал его передать как <страница>.php?arr=$arry но далее это arr конечно видно но непонятно что это за переменная, тоесть по echo ("$arr") на <страница> ничего не выводится.



Используй сессии.

1.9K
16 августа 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by 3D Bob
Используй сессии.


А можно еще инклюдить файл, где обозначен этот массив. Это подходит, если инклюдишь конфигурационный файл, где есть массив с параметрами, типа $_CONFIG['DB_USER']='..'... и тд и тп.
Если не это, то тогда либо через сессии, либо как вариант используй serialize.

7.3K
17 августа 2005 года
tot
25 / / 24.03.2005
Цитата:
Originally posted by kasap
А можно еще инклюдить файл, где обозначен этот массив. Это подходит, если инклюдишь конфигурационный файл, где есть массив с параметрами, типа $_CONFIG['DB_USER']='..'... и тд и тп.
Если не это, то тогда либо через сессии, либо как вариант используй serialize.


А что такое serialize. И можно про инклуды пример

365
17 августа 2005 года
MasterSID
230 / / 23.02.2003
serialize конвертирует какой-либо массив данных или переменную в текстовый формат. Т.е. есть у тебя массив:
$a['name']='Вася';
$a['surname']='Пупкин';

делаешь $b=serialize($a) и он создаст в $b строку, где будет записан весь этот массив (в строковом формате - string). Очень удобно для хранения информации, например в бд. В нужный момент считываешь эту строку и делаешь $a=unserialize($b) и у тебя получается опять тот массив, который и был ранее.

Пример с инклудом:
Файл include_me.php
$a['name']='Вася';
$a['surname']='Пупкин';


Файл index.php
include "include_me.php";
echo $a['name'];

Т.е. все настройки хранишь в массиве в файле include_me.php и где надо инклюдишь этот файл и используешь элементы этого массива. Минус в том, что програаммно менять какие-либо элементы массива будет трудно (придется целый обработчик писать). Тогда-то тебе на помощь и придет serialize. ЧТобы не писать такой никому не нужный обработчик просто сохраняешь свой массив в текстовой строке и получается, что вся работа с файлами будет сводиться только к тому, чтобы взять/положить строку, а работать с самим этим массивом настроек ты будешь как с обычным массивом. Иногда бывает удобно.


Сериализованный массив будет выглядеть так:
a:2:{s:4:"name";s:4:"Вася";s:7:"surname";s:6:"Пупкин";}
Т.е. он сохранил все элементы массива и форматы в которых они записаны в одной строковой переменной, которую потом хоть куда можно положить и хранить. Хоть в файл, хоть в базу данных, хоть по ссылке передать.

Кстати механизм сессий как раз сериализацию использует для хранения данных.

1.9K
17 августа 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by tot
А что такое serialize. И можно про инклуды пример



О serialize читай тут http://ru3.php.net/manual/ru/function.serialize.php

А с инклюдом все очень просто. Создаешь файл с параметрами, например:

 
Код:
<?
# параметры подключения к БД
$_CONFIG['DB_HOST'] = 'localhost';   #хост для подключения
$_CONFIG['DB_NAME'] = 'base'; # имя БД
$_CONFIG['DB_USER'] = 'pupkin_vasya'; # юзер под которым происходит коннект
$_CONFIG['DB_PASS'] = 'blablabla'; # пароль
# ==========================================
?>

Далее его просто инклюдишь где надо.
 
Код:
<?
require_once('config.php');
?>


И потом в скрипте просто используешь этот массив для своих нужд.

 
Код:
<?
$con=mysql_connect($_CONFIG['DB_HOST'], $_CONFIG['DB_USER'], $_CONFIG['DB_PASS']);
?>


Все просто. :)
7.3K
17 августа 2005 года
tot
25 / / 24.03.2005
Цитата:
Originally posted by kasap
О serialize читай тут http://ru3.php.net/manual/ru/function.serialize.php

А с инклюдом все очень просто. Создаешь файл с параметрами, например:

 
Код:
<?
# параметры подключения к БД
$_CONFIG['DB_HOST'] = 'localhost';   #хост для подключения
$_CONFIG['DB_NAME'] = 'base'; # имя БД
$_CONFIG['DB_USER'] = 'pupkin_vasya'; # юзер под которым происходит коннект
$_CONFIG['DB_PASS'] = 'blablabla'; # пароль
# ==========================================
?>

Далее его просто инклюдишь где надо.
 
Код:
<?
require_once('config.php');
?>


И потом в скрипте просто используешь этот массив для своих нужд.

 
Код:
<?
$con=mysql_connect($_CONFIG['DB_HOST'], $_CONFIG['DB_USER'], $_CONFIG['DB_PASS']);
?>


Все просто. :)


Да вроде бы попонятней стало. ВСЕМ СПАСИБО

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог