Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
Написание функций чтения/записи/упаковки DBF-файлов
Объявление - WR-Scriptы в UTF-8 кодировке
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
Всем привет, последнее время понял, что необходимо написание функций чтения/записи/упаковки DBF-файлов.
Сам я нашёл и начал экспериментировать с чтением данных. Но вот занят сейчас проектом. Делаю лайт-форум, поэтому прошу помощи.
Смотрите какая проблема: хостеры, у которых ОС - FreeBSD не могут подключить библиотеки к php (особенность операционной системы), и значит примерно 15-20% хост.площадок не могут выполнять скрипты: форум мини, форум лайт, гостевая, FAQ. У меня то в планах перевести всю линейку WR-скриптов на DBF-базу данных. Получается большая проблема.
Однако, прикинув, почитав мануал по php и покрутив чужие скрипты напрямую работающие с DBF-файлами, я понял, что нужные функции для работы с DBF можно написать самому.
Вот перечень основных функций для работы с DBF-файлами dbase_add_record -- Add a record to a dBase database dbase_close -- Close a dBase database dbase_create -- Creates a dBase database dbase_delete_record -- Deletes a record from a dBase database dbase_get_header_info -- Get the header info of a dBase database dbase_get_record_with_names -- Gets a record from a dBase database as an associative array dbase_get_record -- Gets a record from a dBase database dbase_numfields -- Find out how many fields are in a dBase database dbase_numrecords -- Find out how many records are in a dBase database dbase_open -- Opens a dBase database dbase_pack -- Packs a dBase database dbase_replace_record -- Replace a record in a dBase database
Вопрос кто может помочь и написать функцию, например, dbase_get_record - функцию чтения определённой строки DBF-файла?
Объясню что хочу сделать: добавить в настройку скрипта переключатель со стандартных функций (из библиотеки php_dbase.dll) на нашу - самодельную (которая по сути аналог разработчиков php, но будет работать на ЛЮБОМ хостинге с поддержкой, допустим php 4.3 и выше)!!!
Уважаемые WEBмастера, помогите кто-нибудь. Если написать такие команды, то скрипты станут универсальными и будут работать на любом хостинге. Без всяких дополнительных библиотек!
Сегодня сам попробовал, получилось написать три функции:
function dbase_numrecords($dbfname) // Функция, считывающая КОЛИЧЕСТВО записей в DBF-файле
function dbase_get_record_with_names($dbfname,$number) // Функция, считывающая СТРОКУ ВМЕСТЕ С ИМЕНАМИ в виде массива из DBF-файла
function dbase_get_record($dbfname,$number) // Функция, считывающая СТРОКУ в виде массива из DBF-файла
Выкладываю файл с примером. Остаётся написать ещё вот эти функции:
dbase_add_record -- Add a record to a dBase database dbase_replace_record -- Replace a record in a dBase database dbase_delete_record -- Deletes a record from a dBase database dbase_create -- Creates a dBase database dbase_pack -- Packs a dBase database dbase_open -- Opens a dBase database dbase_close -- Close a dBase database
Спасибо WR за твои труды. хотелось бы узнать на каком этапе продвигается реализация класса для работы с dbf-файлами? к сожалению php изучаю не так давно -> помочь не смогу
Неа, не у форума - у скрипта "каталог ссылок". Его пока снял, нужно исправить и заново выложить.
Мне бы помощь в записи данных. Сейчас получилось реализовать все функции по чтению данных из dbf-файлов штатными функциями. Может кто умеет писать данные напрямую в файл?
ну тогда уже на sqlite. весь смысл скриптов в их "легковесности". сам например использую текстовый вариант, т.к. dbf-расширение возможности нет поставить... (использую только гостевую)
Уважаемый WR и все! Я в своё время (не так давно) читал англоязычный мануал по PHP 4 и, в том числе, раздел по работе с файлами dBASE. И узнал, что функции эти предназначены прежде всего для создания "архивов" из существующих баз данных (использующих СУБД, вроде MySQL), к примеру, перед переносом баз на другой хостинг. А для работы с файлами в реальном времени они не предназначены. То есть, могут запросто повредить dBASE файлы при работе с ними одновременно нескольких пользователей. Ведь функций, аналогичных flock() и fflush() среди этих функций нет. Я, конечно, могу в чём-то заблуждаться (вдруг в PHP 5 ввели поддержку dBASE как именно баз данных?). Но мне всё же кажется, что для этого была бы нужна полноценная СУБД. Как бы там ни было, полагаться на встроенные функции, как мне кажется, нельзя. Так что, лучше и в самом деле написАть собственные функции. А вообще, мне кажется, что зря Вы это затеяли. С текстовыми файлами всё гораздо быстрее (в том числе и процесс разработки), чем будет со сложными функциями, да и смотреть содержимое файлов существенно проще.
Разделяю. На самом деле ценность wr-скриптов именно в том, что они работают с файлами. Совершенно очевидно, что как только, скажем, форум.. перейдёт на DBF - аудитория пользователей этих программ резко сократится (Надо полагать как минимум вдвое). Причины понятные:
1. По своим наблюдениям - функция работы с DBF чаще отключена по-умолчанию у хостеров.. Нет.. вариант конечно, выклёвывать мозги хостеру.. но мало кто станет этим заниматься.
2. Хочу ещё раз обратить внимание именно на УНИКАЛЬНОСТЬ этих разработок (с файлами).. как только этой уникальности не станет - как минимум половина пользователей, тяжело вздохнув, перейдёт на phpbb, ipb и прочие.
Друзья AntiGun и kilogram я понимаю это, поэтому не спешу переводить всё на DBF. Есть часть скриптов которые уже работают на этой базе данных. Они быстры и минимально загружают сервер хостера. Быстродействие это большой плюс, это дорогого стоит.
Знаете на какой базе работают программы 1С версии 7, Парус версии 7. А знаете файлы какого формата используются для зачисления денег на счета в Сбербанке?
DBF.
Если бы этот тип файлов был никакой, сейчас бы миллионы человек в России уже работали с другими базами, файлами, форматами.
Цитата:
полагаться на встроенные функции, как мне кажется, нельзя.
Полностью согласен. Что там внутри не известно, нужно написать свои.
Функции чтения я написал. Что осталось: написать функции записи в DBF-файлы и тогда разработать библиотеку, которую уже и использовать во всех проектах с DBF-базой.
А пока функций нет, я продолжаю поддерживать и развивать основные скрипты на txt-файлах.
Прикрепил прогу для просмотра DBF-файлов. Легко открывает файлы размером 700 Mb, с количеством записей 5-10 МИЛЛИОНОВ Удаление - нажатие кливиши DEL, сжатие - команда в меню PACK. Простая и функциональная прога. Нажмите регистрация и там введите любой логин и пароль. Поюзайте
2. Хочу ещё раз обратить внимание именно на УНИКАЛЬНОСТЬ этих разработок (с файлами).. как только этой уникальности не станет - как минимум половина пользователей, тяжело вздохнув, перейдёт на phpbb, ipb и прочие.
И в чём же здесь уникальность? Есть и другие скрипты, работающие на текстовых файлах и при этом превосходящие WR-скрипты. Например, форум ExBB