Время:
Новых сообщений: Нет
Вы на форуме дней
Ваша группа: Гость
Ваш IP: 3.142.124.119
Logical-Portal — молодежный портал со своей изюминкой, каждый сможет найти что-то интересное и полезное для себя, например наш форум общения с которым вам обязательно нужно ознакомиться.
  • Страница 1 из 1
  • 1
Архив - только для чтения
PHP 2: ответный удар
Сообщение оставлено 08.12.2010 в 07:31:58 | Сообщение #1
Доброе утро, дорогие радиослушатели. Я думаю, что вы достаточно созрели, и можно продолжать ликбез по PHP. Рассмотрим важные функции файловой системы... Это понадобится тебе, чтобы корректно работать со всякими гостевыми книгами и прочей байдой.

Вот как это делается в PHP:

Для открытия файла используется функция fopen(filename,mode), где filename - имя открываемого файла, mode - режим открытия. Бывает следующими:

r - только для записи
a - для записи в конец файла (добавление данных)
r+ - чтение и запись, инфа запишется в начало файла;
a+ - чтение и добавление, инфа добавится в конец файла;
w - перезапись файла (все находящиеся в нем данные перезапишутся).

После этого используют один из операторов чтения / записи, для чтения используют fread() или fgets(). Простейший пример... Чтобы прочитать некоторые данные из текстового файла и запихнуть в HTML, нужен следующий код:

Code

<?
$ourfile=fopen("file.txt",r); //Открываем файл file.txt для записи (режим r)
$data=fread($ourfile,5000); //Считываем в память 5000 байт из открытого файла
echo($data); // Вставляем эти данные в HTML
?>

Как видишь, все очень просто (как и все в PHP, кажется я начал повторяться... старческий маразм :)) Думаю ты уже представляешь, как использовать приведенный пример на практике. Например, можно сделать крутую страницу (дизайн, все дела), а пространство между <BODY>...</BODY> оставить незаполненным. Теперь, если вставить туда твой скрипт, вызвав его с параметром ourfile=32.txt, то получим простейший вариант построения сайта на основе шаблона и базы данных. Примером является этот скрипт (article.php). В него статьи вставляются из отдельных текстовых файлов, при этом достаточно изменить 1-единственный шаблон, и все 14 статей обретут абсолютно новый вид. И не надо будет геморроиться с переносом каждого html-файла на новый дизайн.

Идем дальше. Думаю, сложно представить себе современный сайт без гостухи, форума, опроса... Ты понял к чему я клоню smile Так вот давай разберемся как работают эти замечательные скрипты. Заполнив форму (будь то текстовое поле гостевой книги или галочки-кружочки голосования), мы передаем введенную инфу скрипту, а тот сохраняет ее на сервере в тековом файле или базы данных. Чтобы просмотреть эту инфу, используется скрипт 1 (текстовый файл вставляется в шаблонный HTML). Какие операторы отвечают за запись в файл в PHP? Естественно, fwrite(). Смотрим:

Code

<?
$writeln=fopen("text.txt",w);
$erunda="wow this text will be putted to textfile!!!";
fwrite($writeln,$erunda);
fclose($writeln); // не забывай закрыть файл
?>

Вот и вся любовь. А затем - скрипт 1, и получаем простейший вариант гостевухи. Как видишь все просто smile Главное - чобы хостинг поддерживал запись в файлы, и суметь правильно проставить атрибуты (для *.php - 755, для текстовых файлов - к примеру 664). Но есть еще один важный вопрос. Какой-нибудь злодей, знающий основы HTML, решил приколоться над твоей гостевухой и ввел огромными font size`ами следующее: "ТУПАЯ ГАСТИВУХА Я ЕЕ ИМЕЛЛ". Как закрыть эту дырку? Способов 2: писать самому фильтрующую функцию (подсказка-используй массивы и оператор str_replace), либо использовать уже готовые функции htmlentities() (не советую - голимо работает с кодовой раскладкой win1251) и strip_tags().

Так... Что еще тебе потребуется... А! Расскажу более подробно про массивы. Что такое массив - ты должен знать, мне влом объяснять. Мы будем использовать только одномерные массивы (я не знаю, в какой программе на пхп могут понадобиться матрицы, знает только один человек ;)) привет алч ;)). Так вот. Как мы работаем в пхп с массивами:

1) применяется чаще для пронумерованных элементов:

Code

<?
$array[0]=stuff1;
$array[1]=stuff2;
...
$array[n]=stuffn;
?>  

2) используя конструкцию array(): (эта конструкция используется, чтобы установить count=1, и не спрашивай меня, что это такое!)

Code

<?
$somearray=array('  
"php" => "rulezzz"
"perl" => "suxx"
"pivo" => "cool"
');
?>

тогда echo($somearray[pivo]); вернет строчку cool. Догнал?

Вроде с массивами разобрались... Что ты спрашиваешь? Что такое count? О господи... Хорошо, функция count($array) возвращает количество элементов в массиве.

И напоследок - функции подключения модулей. Если ты их будешь знать, то никакой SSI нафиг не понадобится. Вот эти функции: require('filename') и include('filename');. Не забывай, что если ты включаешь PHP файл, то он ОБЯЗАТЕЛЬНО должен начинаться и заканчиваться разметкой <? и ?>.

 

У гениальности есть побочные эффекты
 
   
  • Страница 1 из 1
  • 1
Поиск:
 
Графика от: Megas, GraFOS | Дизайн сверстал E.A.
Хостинг от uCoz
Яндекс.Метрика