← All posts tagged PHP

я капитулирт
comicslate.org работает
comicslate.org не работает
разница в использовании дефиса в названии папки. а у меня семилетний сайт везде их применяет
в github.com уже весь helper.php обсмотрен, предполагаемые места вклинивания — 217 либо 253 строка
пробовал mb_array_slice в 217 с.
нашёл php.net и пробовал htmlentities и quotemeta в 253 с.
у меня кончились идеи

у меня опять пц. поставил плагин translation чтоб многоязычность сделать... часть переменных для названий на английском (например) берётся из движковой библиотеки, часть из шаблоновой, с этим я справлюсь. но вот со ссылками жопа

на странице comicslate.org три строки меню
в первой строке вызывается wl($ID,'do=admin') текущая страница,поверх неё вызов админки и плагин корректно цепляет текущий язык перед $ID-страницей в виде кусочка адреса "/en"
в третьей строке тоже всё хорошо, вызывается текущая страница (wl($ID,'do=index'),$lang['btn_index']) == путь: текущая страница+вызов индекса, имя: из язык-переменной и плагин срабатывает снова
а вот во второй строке проблема. вызывается ('/start',tpl_getLang('start'),'_self') == путь: стартовая страница, имя: из шаблон-язык-переменной, таргет ссылки: на себя. ссылки от текущей страницы не зависят и плагин их не обрабатывает

dokuwiki.org заявляет, что есть алиасы @LANG@ (язык по умолчанию в вики = ru) и @TRANS@ (текущий язык страницы = en), но разумеется, на момент сборки в PHP этот транс бесполезен. залез в action.php плагина, есть строка обработки аалиаса $event->data['tpl'] = str_replace('@TRANS@', $this->helper->getLangPart($ID), $event->data['tpl']);
и вот этот $this->helper->getLangPart($ID) тож бесполезен, во всех кусках я его перебрал, и $ID на /start заменял...

что забавно, если перед '/start' вставить '@TRANS@'., то адрес меняется со /start на en@TRANS@/start но любые попытки почистить строку после получения сего через str_replace либо explode натыкаются на стену непонимания, функцией echo возвращается только /start прежний. это, блин, алхимия какая-то, логика здесь не работает... или я какую-то тонкость не понял

PHP

есть скрипт для объединения БД, который колотит на строки 1.txt с содержимым вида
0001.jpg|бла
0002.jpg|блабла
и 2.txt с
0001.jpg|кусь
0002.jpg|куськусь
оббегает через foreach в foreach, попутно рвя на две части по | и если 0001.jpg == 0001.jpg то 2.txt[ключ] = trim(0001.jpg)."|".trim(бла)."|".trim(кусь), то есть в памяти вместо массива 2.txt собирается модификат, который пишется в 3.txt

проблема. пока в обоих исходниках одинаковое число строк — всё нормально, но если в 1.txt не хватает строк, то в 3.txt следом за недозаполненной строчкой появляется пустая строка. где-то, может, это и удобно, чтоб видеть недозаполненную строку, но меня мучает творческий вопрос — как бы убить перенос? preg_replace ("/\n|\r/","",тримка) не помогает. повторный вызов preg_replace тоже ничего не дал, из чего я понял, что preg_replace бесполезен в любых количествах. сделать итоговому файлу preg_replace на "(/\n|\r/){2,}","\n" и не париться?

маленький ребрендинг. хотя со смартфона пока ещё тяжеловато, логотип в экран лезет из-за position: absolute;, но хотя бы боковое меню не мешается со старта страницы. убрал социалкнопки, основная загрузка страницы ускорилась с 12 до 4,5 секунд вне кэша. с менюшкой было около 30. подумываю ещё и счётчик яндекса убрать, 2,2 секунды будет

хочу на смарт воткнуть веб-сервер, а в нём Докувики — чтоб на работе комиксы свои размечать во время пауз

попробовал поставить KSWeb, но он требует лицензию, иных каких-то рычагов там не вижу. поставил kWS — тоже что-то непонятное, в настройках прописал sdcard/www, сделал www на смарте, сунул туда чистый билд докувики, в браузере пишу localhost:8080/install.php — а мне вываливает kWSный экран, в нём — строчку Сегодня, а в ней — бегущая полоска...

кто-нибудь пробовал веб-сервер на андроида втыкать? ни MySQL ни PHPMyAdmin для докувики не нужен, только PHP 5.3.3

вырвалось

Вижу в тестовом косяк,
Что-то явно тут не так!
Забегаю в код — а там
Нарисованный фигвам!

Пару строчек переставил —
Охренеть сервак заставил:
Только выделен контент —
Его сносит конкурент!

По итогу — хвост и грива,
Некорректна перспектива.
Уж, конечно, "тут не так"!
Хвать за голову: "Дураак!"

господа погромисты, вы когда-нибудь ленились рефакторить код, который очень прост, но без какого-либо контроля успел обрасти десятком версий? вот у меня тут такая вот жопа приключилась... и не могу даже волю в кулак собрать

PHP

йей. PHP-сортировалка чуток улучшена, отчётность на экране пишет.
заголовок такой echo '<html><H1>Сортировщик девиантартовских картинок по подпапкам</H1>';
после rename ещё строка echo $file.' → '.$newdir[0].'<br >'; /пишет отчёт на экране
и хвост такой echo '<br ><br >Всё!</html>';

PHP

йей. PHP-сортировалка девиантартовских картинок pastebin.com
работает куда резче автоита. сразу что-то не подумалось, что я могу на PHP написать. работает так свирепо, что у меня не нашлось столько файлов, чтоб ощутимо притормознуть и объективнее оценить. за 12 секунд рассортировал 1188 файлов весом 850 мб. это намного быстрее, чем даже сделал бы тотал коммандер при всей доступной ему памяти. однопоточность же. мой вебсервер (древнейший апач 1) располагает всего 128 мб рамы, так что я подозреваю, что он менял прямо таблицу NTFS. это опасно.

имеется сайт, показывающий картинки. картинки могут находиться вне сайта или быть загруженными оттуда в локальную папку сайта. есть ли в природе скрипт, проверяющий локальный путь на существование картинки и выбирающий, что загрузить? предполагаю, этим должен заниматься пхп, но если джава тоже справляется, то и он годится