|
|
|
| Мой сайт состоит из нескольких страниц с фотографиями. Я хотел бы изменять текст под каждой фотографией не редактируя все страницы, а изменяя один текстовый файл. Так как я новичек в PHP я решил задачу следующим кодом:
<?
$filename= "names/name1-2.txt";
$whattoread= fopen($filename,"r");
$file_contents = fread($whattoread, filesize($filename));
echo $file_contents;
fclose($whattoread);
?>
Но так как фотографий много, мне приходится создавать отдельный файл для каждой фотографии. Это неудобно и также думаю что страдает скорость.
Возможно ли открыть текстовый файл с скажем 20 именами и поставить эти имена под нужной фотографией. Далее если меняется фото то изменить надпись под ней можно будет просто переписав один текстовый файл.
Спасибо всем кто поможет | |
|
|
|
|
|
|
|
для: bciuk
(08.01.2006 в 17:51)
| | Не очень понятно, что содержится в name1-2.txt... и как у вас имена фотографий сопоставляются описанию? | |
|
|
|
|
|
|
|
для: cheops
(08.01.2006 в 18:00)
| | В файле name1-2.txt содержится имя фотографии, скажем "Улица Святого Луки". Данный текст выводится под фотографией 1-2.jpg при помощи скрипта описанного мной выше. Но скажем мне нужно изменить фото 1-2.jpg на Улицу Святого Николая. Имя фото будет то-же "1-2.jpg а вот текст я бы хотел изменить изменив только текстовый файл так как страниц на которых есть это фото много скажем 65 и изменять текст на каждой странице - задача нелегкая. Скрипт описанный выше проблему решает но только для одной фото. Я бы хотел записать в один текстовый файл скажем 5 имен для фотографий 1-1.jpg, 1-2.jpg, 1-3.jpg и так далее, далее скрипт открывает файл, читает имена и проставляет их под нужной фото | |
|
|
|
|
|
|
|
для: bciuk
(08.01.2006 в 18:54)
| | Надо сделать текстовый файл с именами и названиями например так
names.txt
1-1.jpg|Улица Петрова
1-2.jpg|Улица Иванова
1-3.jpg|улица Сидорова
|
В одной строке записано сначала имя файла, затем название фотографии. Разделитель "|". Строка должна заканчиваться символом \n - перевод строки. Но если вы создаете файл вручную, то \n ставить не надо. Он вставляется при нажатии на Enter.
Тогда ваш скрипт можно изменить примерно так:
<?php
$filename= "names/names.txt";
$whattoread= fopen($filename,"r");
$names = file($filename); // считываем весь файл в массив
$num_names = count($names); // подсчитываем количество элементов получившегося массива
for ($i=0; $i<$num_names; $i++)
{
$name = explode("|", $names[$i]) // разбиваем строку на элементы. Разделитель "|"
$file_name = $name[0]; // здесь имя файла, например 1-1.jpg
$photo_name = $name[1]; // Здесь название фотографии, например, Улица Петрова
// далее используем полученные значения и переходим к следующей строке
}
fclose($whattoread);
?>
|
А почему вы не хотите использовать базу данных? Можно было бы сделать web-интерфейс для редактирования названий фотографий, чтобы не править вручную файл. Можно, конечно, сделать web-интерфейс и для работы с файлом, но с использованием бд все гораздо проще. А удобно то как! :-) | |
|
|
|