Jump to content

Vladiger

User
  • Posts

    121
  • Joined

  • Last visited

Everything posted by Vladiger

  1. Требуется изменить содержание одного из файлов на сервере с атрибутами CHMOD 0644. Изменяемый файл - source.php (атрибуты CHMOD 0644) <?php ?> Исполняющий скрипт - write.php (атрибуты CHMOD 0644) <?php $body = file_get_contents("source.php"); $body = str_replace("<?php", "<?phprnСтрока", $body); $FH = @fopen("source.php", 'w'); fwrite($FH, $body); fclose($FH); ?> Оба файла имеют одинаковый UID владельца (ну по крайней мере я так думаю)... В результате выполнения скрипта write.php должна добавиться строчка "Строка" сразу после "<?php" и полученный результат опять записывается в файл. Но на самом деле ничего не происходит. Запись в файл происходит только поле того, когда я изменю атрибуты CHMOD на изменяемый файл source.php, установив 0666 или 0755 или 0777 вручную (FTP клиентом). Пробовал вписать в исполняющем скрипте строчку chmod("source.php", 0777); перед открытием файла для записи $FH = @fopen("source.php", 'w'); Результат так же не увенчался успехом. Не пишет в файл с атрибутами CHMOD 0644 как ни крути. Почитал предупреждение о режиме SAFE MODE Тоже показалось странным, ведь оба файла я закачал FTP клиентом и они должны иметь одинаковый UID... Подскажите что я не так делаю? Мне нужно изменить файл именно с атрибутами CHMOD 0644 так как это такой же исполняющий скрипт для других целей и мне просто требуется изменить его содержание.
  2. Это вы так просто на "глазок" прикинули, но на самом деле результат такого сжатия уникален... Вероятно вы просто не пробовали, а я пробовал... Только конечно результат был не всегда положительным потому что сжимал PHP скрипты JS компрессором. Но то что размер может быть уменьшен в 2, в 3 или даже в 4 раза - это не шутка... PS Ну я как бы повторюсь: - Не стоит изобретать велосипед и зацикливаться на таком компрессоре. Ну не было у меня раньше его, ну обойдусь как-нить и дальше. Я просто подумал что у кого-то уже готовый есть, а писать самостоятельно конечно не стоит...
  3. Хороший вопрос!!! Дело в том что действительно кажется странным, зачем сжимать PHP скрипты? В случае с файлами CSS и JS - это понятно, они грузятся клиенту в браузер. А вот зачем сжимать PHP скрипты, ведь они выполняются на сервере как "ПРОГРАММА" и их размер никак не отражается на скорости выполнения этой программы и они не грузятся клиенту... Конечно такой компрессор не очень нужен как инструмент програмисту, но речь идет именно об так называемой "опрятности" или "порядка" в скриптах. То есть это сугубо личное пристрастие наводить порядок во всем, в том числе и в PHP скриптах. Ну это что-то типа порядка в вашей квартире. Ну не люблю я когда пыль на полках или грязная посуда в раковине. Вроде-бы и не мешается, но не приятно. То же самое и с PHP скриптом: - Блин ну мне кажется "ДИКО" когда в скрипте комментариев больше чем самого програмного кода. Програмного кода всего-то на пару строчек, а комментариев и пробелов в скрипте на пару мегобайт!!! (шутка конечно)... Когда речь идет об одном скрипте, возможно его оптимизация не будет играть большой роли. Но когда речь заходит о системе скриптов (например CMS системе), то таким образом размер всего пакета системы, можно сократить более чем в 2 раза, а это место на сервере...
  4. Просто зла не хватает... Почему бы не повесить вот этот логотип В качестве бан страницы для всего ресурса HTMLBOOK... Ну типа не заходите сюда и вообще ничего не спрашивайте... Фтыкайте в Гугле и будет вам счастье... klierik - Если бы я не был настолько сообразительным что бы набрать в поисковой строке гугля "php compressor", я бы наверное не смог бы вообще зарегистрироваться на сайте (ума бы не хватило). А вот вы не могли бы мне подсказать: - Из сотни просмотренных страниц по введенному запросу, все скрипты как раз компрессоры JS и CSS но написанные на языке PHP, чувствуете разницу между JS компрессором и PHP компрессором? Мне нужно сжимать PHP скрипты, а не JS и CSS (такие у меня уже есть). А во вторых: - Не могли бы вы тыкнуть меня на кнопочку Download, из всех этих сотни страниц. Чето времени потрачено на поиски ОГО-ГО, а толку нихрена нет. Нет ни кнопочки Download ни текстовго програмного кода. Ну и сколько мне еще так тыкать в гугле? Ну нету такого скрипта у вас, зачем тогда вообще флудить в этой теме. А хотелось бы конкретного результата: - Или кнопочку DOWNLOAD или програмный код скрипта. PS Ну ладно! И на этом спасибо... будем ффтыкать дальше...
  5. Находил в сети Компрессоры для CSS и Javascript, а вот для PHP скриптов как-то не попадалось. Компрессор для Javascript подходит для сжатия PHP скрипта, но не совсем. Некоторые моменты Javascript отличаются от PHP, по этому в 80% компрессор JS сожмет PHP скрипт удачно и 10% того что при сжатии возникнут ошибки. Нужен скриптик, который сожмет PHP скрипт до минимальных размеров, удалив при этом из скрипта все лишние комментарии, пробелы, возвраты каретки и.т.д а затем распарсит сжатый результат в удобную форму для програмиста. Ну то есть после каждой скобки { (к примеру) весь последующий код, с каждой строки после табуляции (в соответствии с количеством вхождений по скобке { ). После скобки } уменьшается количество табуляций и.т.д. Это конечно примерное описание того что хотелось бы найти. Может быть кто-то находил такие компрессоры для PHP скриптов или есть в наличии? Поделитесь пожалуйста ссылочкой или скриптиком... PS Писать скрипт самостоятельно (заново) не прошу, мне проще повесится. Но то что такие штуки существуют - это однозначно. Был бы очень признателен если поделитесь таким компрессором для PHP скриптов...
  6. Я бы конечно смог тебе помочь, но вот я смотрю это не очень нравится здешней аудитории. Прочитай третий пост сверху... Если выражаться проще, тебе сказали: - Пошел вон отсюдава на сайт техподдержки PunBB... Так что извини, я лучше воздержусь от объяснений... Просто понаблюдаю. Спроси лучше у Dimitry Wolotko... Думаю после его рекомендаций у тебя вопросов не останется!
  7. Вы прямо уж совсем нас глупых приписали к категории людей с рыбьими мозгами. Ну зачем-же повторять дважды. Ну поняли мы уже, поняли... Только успокойтесь... Вот есть такая пословица: - Не плюй в колодец из которого пьешь Дело в том что я пил из колодца htmlbook.ru, вероятно я и буду дальше из него пить просматривая темы форума и черпая полезную информацию... Но так получилось, что я все-таки плюнул в колодец... Даже не знаю почему так получилось, выглядит все как то нелепо. Человек спросил, ему ответили... Ну если человек чего-то не понял, он переспросит, его поправят или более подробно объяснят и.т.д так В общем диалоги и ведутся. Но не тут-то было: - Тут появляется Dimitry Wolotko и обязательно вставит свои 5 коппеек, которые остроумны как 5 баксов. Как вы думаете осмелюсь ли я вообще что-то спрашивать на интелектуальном форуме, на котором интелектуальные люди, как базарные тетки удавятся за каждую коппейку истины. Это к тому что быть просто наблюдателем гораздо безопаснее, ну и не так оскорбительно... Вот и глумитесь тут втроем-вчетвером над беспомощьными новичками, ну и просто недопонимающими людими. А все из-за чего? Да козе понятно что все из-за того, что MyAdmin и PhpMyAdmin(pma) - это два совершенно разных приложения для работы с БД. Ну если это для вас так важно, хорошо.... Пусть будет так... Извините пожалуйста! PS Кстати афтора этой темы уже и на сайте то нет, а диалоги до сих пор продолжаются. Как вы думаете почему? Правильно, потому что тема во флейме. А где эта тема будет завтра? Правильно, в Треше. А где эта тема будет после завтра? Правильно, нигде не будет. Ее вообще на форуме не будет. Вывод: - Пустые буковки, темы уже давно нет, а пользователи разбежались. Переругались и разбежались. И все из-за того что: MyAdmin и PhpMyAdmin(pma) - это два совершенно разных приложения для работы с БД.
  8. А ну да точно... Ну конечно Dimitry Wolotko вы умный, а я глупый... А че такого, ну не могут же все быть умными. PS Меня вот всегда вопрос интересовал: - Почему мы глупые понимаем друг друга с полу слова, а вот умные нас глупых понять не могут? ПАРАДОКС!!! Я это к тому, что так мелочно цепляться за "разные вещи" - не показатель вашего умственного потонциала, а скорее показатель недостаточного воспитания.
  9. Дык это самое... Я вот тут подумал... Нада бы с главной страницы сайта убрать всю инфу про HTML, CSS и вообще все что может оказаться полезным для посетителя. Только не нужно думать что СКРИПТ - это дорого, а HTML - это дешево... Че все злые какие... Вот так и загибаются потихоньку хорошие Web проекты. Сначала вроде-бы все для посетителя, милости просим и.т.д... А потом раз... И АБАРЗЕЛИ (не постесняюсь этого слова). Что? Так сильно поднаторели что с новичками вообще не в почете пообщаться... А если сами когда нибудь будете нуждаться в ответе на вопрос? PS Не правильная политика. Tokolist - Спасибо тебе огромное... Поделился и поделился скриптом, я бы тоже поделился... Меня вот пока этот вопрос не интересовал, но на будущее мне было тоже интересно узнать решение. А если так вот каждый будет по углам свои хитрости или знания шкерить... ну в принципе можно конечно и так... Бизнес есть бизнес!!! Нужен скрипт - плати бабки!!! Только вот одно дело когда вас просят написать сайт (полноценный и функциональный) и совсем другое дело когда вас просто спрашивают как можно сделать вот так?
  10. Вот сюда (только у вас на локальном сервере) http://localhost/Tools/phpmyadmin/index.php PS А что вас удивило? Вы никогда туда не заходили что-ли?
  11. Сначала нужно установить базовый пакет denwer. Затем зайти в MyAdmin денвера и создать базу данных. Затем скопировать содержимое PunBB в дирректорию вебсервера denwer (ну например в C:WebServershometest1.ruwwwpun_bb) Затем неплохо бы прочитать Readme.txt или Readme.html к этому самому PunBB... ну и собственно запускаем из браузера файл установки install.php или setup.php (точно не знаю как именно называется файл установки в PunBB, но суть во всех CMS одинаковая). Заполняем поля формы, указываем название созданной базы данных, вводим имя пользователя (Супер Админа), пароль, Email... Вуаля!!! Если все нормально установка завершена. Если же возникнут какие-то ошибки, то исходить следует из содержания самих ошибок...
  12. Это в Javascript наверное нужно было создавать тему. Javascript-ом можно такое сделать, я правда пока не знаю как, но то что можно это точно. А вот PHP вероятно не будет обрабатывать данные при каждом вводе символа. PHP может выдать только статическую информацию например количество допустимых символов, но не более. Тебя же не устроит что при каждом вводе очередного символа, страница будет перезагружаться, поэтому это на Javasript нужно писать.
  13. Да, возможно вы и правы. Смысл поменять строчки местами вероятно есть. Но мне хотелось бы узнать, почему именно вы не стали бы так делать? Я предполагаю что вам не понравилось то, что если на странице будет загружаться 20 изображений одновременно (или более), то браузер все свои ресурсы отдаст на обработку 20-ти событий OnLoad и 20 одинаковых функций, которые ожидают своего старта выполнения. Или может я ошибаюсь? Тем не менее мне самому чет не очень понравилась эта штука... Для одного (двух) изображения еще куда ни шло, а вот если их много, то браузер начинает тормозить при прорисовке HTML страницы. Это происходит быстро, но заметно на глаз. Страничка весом всего-ничего (несколько байт) которая моментально грузится вместе с одной кешированной картинкой loading.gif но без Javascript, начинает зависать на какие-то 0.5 секунды при обработке вставленного Javascript. При том происходит это как-то странно. Первые два изображения грузятся моментально, затем зависание на 0.2 - 0.5 секунд и последующая прорисовка остальных 18 изображений. После этого начинается ожидание загрузки полноразмерных изображений, которые появляются в хаотическом порядке (по мере загрузки). При низкой скорости интернет соединения (например DialUp) это как-то жутко выглядит. Думаю что пользователь не станет ждать 30 минут пока все 20 фото загрузятся. Какие причины у вас Tokolist? Объясните если не трудно....
  14. Логика конечно у меня была, но своеобразная. То что она ошибочная - это бесспорно, но то что она была - это однозначно. Логика она ведь либо есть либо нет, так вот у меня она была примерно такова: - Типа событие OnLoad означает что запустится функция Javascript в тот момент, когда до конца загрузится изображение в теге
  15. Потратил пару часов на круиз по Гуглу, так ничего и не нашел... Хоть бы где нить пример сайта был с такой "предзагрузкой" изображений, тогда может я и разобрался бы на примере, а так... В общем: createElement('img') и replaceChild - это не пример, а всего навсего пару функция Javascript. Как-то не очень понятно, как именно их использовать и.т.д и.т.п... Ситуация осложняется еще и тем, что в Javascript я пока знаю тока что есть такой язык, ну и еще пару строчек кода могу написать на Javascript... Все остальное (знания и опыт) пока только в проекте. Ну сами посудите: - Стал бы я задавать подобные вопросы на форуме, будучи профи в Javascript? PS Если не трудно, можно фрагментик кода? Он же не большой, всего-то пару строчек, только не просто функций, а именно кода - Как сменить изображение после его загрузки? Пожалуйста!
  16. Помогите пожалуйста разобраться в смене картинки по событию OnLoad. В страничке HTML вставлена большая фотография, но пока она грузится, нужно вместо фотографии вывести маленькую картиночку типа "LOADING" или что-то типа . После того когда большая фотография догрузится до конца, ее нужно вставить в документ вместо маленькой картиночки "LOADING". Я сделал так: <script type="text/javascript"> function ChangeImage(id, photo) { document.getElementById(id).src = photo; } </script> <img id="1" src="loading.gif" onload="ChangeImage('1', 'photo.jpg')"> Но чет я видать не учел. Картинка меняется, но как-то не понятно по какому событию. Думаю что она меняется после загрузки маленькой картиночки loading.gif, а не после загрузки фотографии. К тому-же браузер виснет, точнее не виснет, а постоянно что-то грузит, не прекращая. Подскажите как вставить фото в документ, после загрузки этого самого фото, но что-бы в момент загрузки в документе была маленькая картиночка "LOADING" .
  17. Почитал я этот топик http://forum.php.su/topic.php?forum=1&topic=222 А вы отдаете себе отчет в том, что при извлечении случайной записи из таблицы MySQL средствами PHP ваш сервер проделает гораздо больше операций, нежели сервер MySQL при условии ORDER BY RAND() LIMIT 0,3; Подумайте о том, что в случае с ORDER BY RAND() LIMIT 0,3 сервер MySQL будет выбирать случайные колонки таблицы всего 3 раза. А теперь подумайте что в таблице может быть 1 000 000 записей, (или больше) и содержание этих записей вам не известно. Совсем не обязательно предполагать что например ID пользователя идут в соответствующем порядке возрастания от 0 до 1 000 000. Пользователи могут быть удалены из БД, а значит какие-то ID пропущены и не существуют вообще и.т.д и.т.п. Так как вы прочитаете например пользователя со случайным ID средствами PHP? Вы предлагаете сначала прочитать всю таблицу (1 000 000 записей). Затем эти записи обработать: Собственно а как вы будете их обрабатывать? Или вы будете генерировать случайные ID пока чило не совпадет с уже имеющимся в таблице? Или вы сначала установите какие ID отсутствуют? Или... или... или... В общем варриантов много, но все они сводятся к тому, что предвзятость програмистов к оптимальности работы скрипта, на самом деле загрузят ваш сервер PHP гораздо больше чем ORDER BY RAND() LIMIT 0,3 Так что подумайте прежде чем копать огород.
  18. Потому что ты не точно указал имя файла, который копируешь в каталог WWW. Выражаясь точнее ты его вообще не указал. Тебе нужно четко определить имя каталога и имя файла копируемого временного файла. if (is_uploaded_file($_FILES['filename']['tmp_name'])) { copy($_FILES['filename']['tmp_name'], "WWW/myfile.zip"); echo 'Ура файл загружен )'; } else { echo "Подстава"; } php5chGDe - Это новое имя загруженного на сервер файла во временную дирректорию (куда загружаются все файлы методом POST). Это имя генерируется сервером случайно и имено это имя соответствует элементу массива $_FILES['filename']['tmp_name'] Следует помнить что временный файл php5chGDe будет удален сервером автоматически после завершения работы скрипта.
  19. А чего там смотреть? Во всех системах CMS как раз так и реализованы функции парсинга BB Кодов. Замена BB Кодов выполняется налету, при выводе HTML странички. В БД хранится только одна запись сообщений, именно такая какая есть (с BB Кодами). И делается это как правило при помощи какой-нить функции парсинга ВВ Кодов прямо в функции print или echo Пример
  20. Подойти к чему? К параметру или к серверу? К серверу наверное лучше всего подойти по FTP доступу... К параметру проще всего подойти при помощи обычного блокнотика, открыв файл php.ini (если он конечно доступен)
  21. Ну в принципе согласен с PcMan. Если ему потребовалось хранить два стандарта в БД, значит на то есть причины, надеюсь они себя оправдывают. Высказал я свое мнение руководствуясь теорией вероятности, но не принимайте это за аксиому. Делайте как вам удобно. Просто пока с такими проблемами я наверное не сталкивался (с загрузкой сервера из-за BB-Code)... А функция парсинга BB-Code не такая уж и сложная и замороченная....
  22. Это нормально/гламурно. Риальные пацаны так и поступают. Сами храним 2 формата (wiki/xhtml). Ну вообще-то я бы так делать не стал. Конвертировать налету - это гораздо рациональней. Возможно это конечно занимает лишние микросекунды в производительности скрипта, но на практике этого никто не ощущает. Ерунда это все. Время на выполнение комманд str_replace совсем незначительное, его даже измерить с точностью проблематично. Зато подумайте о том, что сейчас вы просто пишете свой форум. В данный момент он пустой, а что будет в тот момент, когда на вашем сайте будет более 10000 сообщений. Например БД с таким форумом может весить 7-10mb (а может и больше). Если вы будете хранить в БД некие фрагменты разных кодирований HTML, BB Code, XML, wiki и.т.д то размер вашей БД увеличится не на пару килобайт, а неизвестно во сколько раз. Кроме того: - Если у вас присутствует только BB Code и HTML, то в тот момент когда вы захотите добавить к своей системе еще какой либо стандарт, то у вас просто не будет записей старых сообщений с BB Code для этого стандарта и вам придется их делать вручную. Иными словами теряется ГИБКОСТЬ системы. ЗЫ просто не встречал я таких новществ ни в одной CMS системе. Можно конечно гордиться насколько у нас все круто, но по моему (ИМХО) это головная боль ни о чем.
  23. Соглашаться или не соглашаться - это ваше право. Ибо именно это согласие или не согласие является причиной всех ошибок человечества, а так же достижений того же чловечества. Но мне не хочется продолжать эту тему про алгоритм перехода улицы или каталога ссылок на файловой системе или с использованием MySQL. Во первых потому что само обсуждение этих алгоритмов уже является флудом ибо про светофор было приведено в пример. Не стоит цепляться к мелочам и фантазиям где переходить улицу, как переходить, а может лучше на такси уехать и.т.д и.т.п... Человек строит каталог ссылок используя MySQL. Для наглядного примера где в его скрипте недоработанные моменты я и привел этот алгоритм. Кстати с файловой системой тоже самое: Файл может быть пустой? Файла вообще может не быть? Приведите примеры сами, какие еще могут возникнуть ситуации? И как раз эти ситуации в скриптах лучше всего предвидеть и писать для них специальные сценарии... PS И в случае если светофор не работает как раз и требуется такой сценарий, который определит: - Так как-же переходить улицу? А я бы так вообще, нажрался до чертиков и попер через дорогу похрену где, главное быстрей добраться до противоположной стороны проезжей части...
  24. Чет я не понял ниче. Вообще-то в любой HTML страничке по нажатию на ссылку происходит элементарный переход по указанному в ссылке адресу, ну еще можно по нажатию на ссылку в HTML выполнять сценарии JavaScript, но никак не сценарии PHP, а тем более с какого чуда по нажатию на ссылку будут меняться какие-то "операторы" MySQL? ЗЫ правда не понял о чем-ты? Любые изменения в MySQL может выполнять PHP скрипт, а то что у тебя в браузере отображается - это всего навсего уже готовая HTML страничка. А вот как ты напишешь скрипт PHP так он и будет выполнять любые изменения где угодно. По ссылке ты можешь просто указать адрес нужного PHP скрипта в теге: <a href="my_script.php">Сценарий PHP</a> А в самом скрипте my_script.php ты сам будешь писать свои сценарии, в том числе и изменения в БД MySQL. Да очень просто: $result = mysql_query("SELECT * FROM $tablename WHERE cat = 1 OR cat = 2 "); Из таблицы выделятся записи только со значением в поле cat 1 или 2. $result = mysql_query("SELECT * FROM $tablename WHERE cat = 1 OR cat = 2 ORDER BY name"); Тоже самое, только все выделенные строки cat 1 или 2 будут отсортированы по именам в поле name $result = mysql_query("SELECT * FROM $tablename WHERE cat = 1 OR cat = 2 ORDER BY name LIMIT 0,10"); Тоже самое, только с установленным лимитом строк. Выделятся только первые 10 строк. В общем я так думаю, что тебе стоит заняться изучением не только PHP но и MySQL. В противном случае ты будешь черпать информацию по капельки, всех замучаешь вопросами и достигнув какой-то цели (например каталог ссылок) у тебя так и останутся пробелы в знании PHP и MySQL. Если тебе нужен просто каталог ссылок, а не изучение PHP то лучше воспользуйся готовыми скриптами, их полно в сети.
  25. Ну это конечно хорошо что ты начинаешь изучение PHP, а не просишь писать готовые скрипты. Но все же твои начинания пока еще не выдерживают критики. Не отчаивайся, это нормально. Я сам так начинал. Тем не менее привыкай к тому, что бы сразу строить правильный и рациональный алгоритм любой (даже самой пустяковой) операции. Представь что ты переходишь улицу и твои алгоритм потроен примерно так: 1. Смотрим на сигнал светофора и анализируем его. 2. Если горит красный, значит останавливаем процесс перехода улицы. 3. Если горит желтый, значит ожидаем что скоро загорится зеленый, но не переходим улицу. 4. Если горит зеленый, значит переходим улицу. Как ты думаешь чем этот алгоритм не идеален? Что бы не мучать тебя разгадыванием ребусов, я отвечу сам: - Дело в том что светофор может не работать вообще, тогда ты не будешь знать что вообще делать в этом случае, а такая ситуация вполне возможна даже если у светофора 100 лет гаррантии беспрерывной работы. Надеяться на его безупречную работу не стоит, любую ситуацию необходимо предвидеть и писать сценарии для именно таких непредвиденных ситуаций. В твоем случае ты читаешь таблицу и подразумеваешь что в ней что-то есть. А вдруг таблица пустая? А вдруг вообще нет такой таблицы? А вдруг вообще нет такой Базы Данных? А вдруг вообще не удалось подключиться к серверу SQL? Варрианты решения: <?php include "conn.php"; if (!mysql_connect($dbHost, $dbUser, $dbPass)) die("Не удалось подключиться к серверу MySQL ".$dbHost); if (!mysql_select_db($dbName)) die("Не удалось выделить Базу Данных".$dbName); $result = mysql_query("SELECT * FROM $tablename"); // Проверяем есть ли записи в таблице $tablename if (mysql_num_rows($result) != 0) { // Выполняем сценарий вывода если в таблице есть записи while($query_data = mysql_fetch_row($result)) { echo $query_data[1]; echo " "; } } else { // Выводим сообщение если таблица пустая echo "Извините, но в данный момент каталог ссылок пуст"; } mysql_close(); ?>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy