Jump to content

vartem

User
  • Posts

    23
  • Joined

  • Last visited

Everything posted by vartem

  1. $_SERVER["PATH_INFO"] ? все, что идет после имени скрипта. $_SERVER["QUERY_STRING"] ? все, что идет после знака вопроса в запросе GET.
  2. Ну зачем здесь эта сторонняя библиотека какая-то (интересно, кто-нибудь вообще имел дело с ней)? Функция mail() не устраивает чем-то?
  3. Уже сказали же, что он НЕ нормально работает в ФФ, смотреть еще где-то желания нет.
  4. Olga, копайте в сторону XML.
  5. Я не понял причем здесь вообще array_merge()? :/ Из вопроса вижу, что надо найти расхождения в массивах, для этого используется функция array_diff(). <? $first = (array)file('data1.txt'); $second = (array)file('data2.txt'); $arr = array_diff($first, $second); foreach($arr as $s) echo rtrim($s)." n"; ?>
  6. сначала http://php.ru/manual/function.file.html потом http://php.ru/manual/function.array-diff.html и возможно http://php.ru/manual/function.array-values.html
  7. что-то ничего не работает, выскакивают ошибки и т.п. ? Firefox/2.0.0.4, в других не смотрел А что за дизайн такой? креатив?))
  8. Yarik Voronov, да, у php были и есть проблемы с кодировками и с юникодом, в частности. Сейчас вроде ведутся работы в шестой версии: обрабатывают все функции на корректность работы с юникодом. Что получится ? увидим Но, честно говоря, эти проблемы зачастую проходили мимо меня, так что беру информацию со слухов Что подразумеваете под генерацией? И что используете для генерации, парсинга? У меня обычно при работе в php над xml идет полностью английский, а значит ? проблемы с кодировками врятли могут возникнуть. Пару раз при работе с русским и использовании SimpleXML была проблема с генерацией выходного XML. Как Вы сказали, выдавался результат в юникоде ? не смотря на то, что перед этим парсился документ с указанной кодировкой ? windows-1251 (причем, парсился он в корректной кодировке; хотя, может быть, мне показалось). Не помню как обходил проблему, первое, что сейчас приходит в голову, ? функции iconv?
  9. В последней цитате, на сколько я правильно ее понимаю, речь идет не о кодировке, а о сущностях. О том, что по умолчанию они читаются в кодировке UTF, а если указать кодировку ? в указанной кодировке. Никаких ограничений на кодировку в XML нет, кроме того, что эта кодировка должна существовать и ?быть известной? (см. http://www.iana.org/assignments/character-sets). //добавлено между делом, я согласен, что в XML лучше использовать UTF
  10. Нет? http://www.rol.ru/news/it/helpdesk/xml01.htm#NT-EncodingDecl ? перевод W3C
  11. http://dic.gramota.ru/search.php?word=%E2%FB&lop=x
  12. Kel-Tanas, у меня такое ощущение, что мы о разных вещах. Вы говорите, как лучше применять в ?общем? случае ? причем я не раз уже соглашался с Вами; я говорю о конкретном случае, привел доводы (которые Вы почему-то переносите опять же на ?общий? случай) и никак не пойму в чем проблема ? поэтому дальнейшего желания продолжать тему у меня нет.
  13. Специальный цикл для массивов? Поясните, пожалуйста, правда интересно? Давайте откажемся от foreach при работе с классами, в этом случае? Или воспользуемся array_walk, чтобы совсем все усложнить, ? однако используем функцию, предназначенную именно для массивов? Кем рекомендуется? Я не зря написал про время выполнения. Не поленился и проверил (провел тест над каталогомами, в которых более 2к файлов) ? из трех (наверное, пока) конструкциий: while( isset($names[$i++]) ), foreach($names as &$v) и while(list($key, $val) = each($array)) ? лучшую производительность показывает именно первая, самая простая конструкция. Ну почему же? Достоверно известно, что результатом будет пустой массив (если ничего не нашлось) или простой индексированный массив от 0 с дальнейшим увеличением индекса на 1. Здесь я, кстати, согласен: если бы был ассоциативный (смешанный и т.п.) массив, то foreach ? лучший выбор по всем показателям. Даже приведенный массив $a обработается foreach`ом, благо ? такого не получится и while переберет все найденные имена файлов.
  14. while теперь в прошлом веке, оказывается. Мне просто, кажется, что while сработает в данном случае быстрее, хотя в современном мире, с такими мощностями, ? какая разница? Абсолютно согласен с этим. Kel-Tanas, куда-то нас занесло ну да ладно?
  15. тип столбца notes.date текстовый (varchar и т.п.) чтоли? ? лучше так не делать Чтобы вывести дату в таком (?12 декабря 2007?) формате, можно использовать функцию strftime, которая не везде работает. Иначе, с помощью функции date("n", timestamp) получайте номер месяца в дате и с помощью вспомогательного массива выводите строковой эквивалент. В частности для строки ?2007-12-12? (пусть она хранится в переменной $date, 2007 ? год, 12 (первое число) ? месяц, 12 (второе) ? день), можно воспользоваться $a = explode("-", $date); $year = $a[0]; $mounth = $a[1]; $day = $a[2]; $rus_m = array("января", "февраля", [и так далее]); $a = strtotime($mounth."/".$day."/".$year); print $day."<sup><u>е</u></sup> ".$rus_m[((int)date("n", $a))-1]." ".$year."<sup><u>го</u></sup> года"; код не проверял, но должен работать?//всеже проверил
  16. while(list($date, $autor, $review) = mysql_fetch_row($ath)) { print " <tr> <td>$date</td> <td> by $autor</td> </tr> <tr><td colspan=2>".nl2br($review)."</td> </tr>"; } попробуй
  17. Kel-Tanas, мне казалось, что данный пример остался со времен php младше версии 4.3. Сейчас все это возможно сделать используя функцию glob, которая все найдет по ?маске? и даст результат сразу в массив. Просто хотелось, чтоб человек понял код, который привел. $names = glob("records/rec*"); ______________________________________ Добавлено: Весь начальный код можно заменить (попробовать, во всяком случае) на $names = glob("records/rec*"); $i = 0; while( isset($names[$i++]) ) $names[$i-1] = substr($names[$i-1], 11);
  18. Кстати, говоря. Есть хорошая функция scandir(), которая, я думаю, у вас не вызовет проблем. Говорят, что она более скоростная ? заодно проверите
  19. Порядок считывания файлов определяется порядком их нахождение в ОС -> ? говорит php, что следует обратиться к методу или свойству какого-то класса. В данном случае, классом является dir, а read() метод этого класса. (формально ? это не ООП конечно) Внимательней надо смотреть Для этого надо видеть код целиком. Здесь нет заморочек Есть более понятный способ ? opendir(), readdir(), closedir()?
  20. $entry = $dir_rec->read() читаем имя следующего файла/каталога в папке ?records?. Если кончилось, то получим false, именно false (то есть в коде есть маленький баг). substr($entry,0,3)=="rec" в переменной $entry у нас хранится имя файла/каталога. Соответственно, предыдущий код проверяет первые три символа в имени ? если это "rec", то в массив $names добавляем следующий элемент ? строка, состоящая из имени файла/каталога с отсеченными первыми тремя буквами
  21. post, сокеты ? откуда? об этом никто не говорил? Если речь о моей последней фразе, я имел в виду отправку следующих заголовков: header("WWW-Authenticate: Basic realm="lalalala""); header("HTTP/1.0 401 Unauthorized"); и последующуя проверку по переменным: $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']
  22. Тогда он увидит хеш логина, пароля и ip? Кстати, по поводу ip ? какая необходимость создавать его хеш и засовывать в куки? Его можно вычислять на лету, причем ? никто не будет знать, что ты используешь эту проверку при авторизации. Однако эта проверка наносит ряд ограничений: у некоторых пользователей с каждым заходом в сеть ip меняется в пределах некоторого диапозона, а значит, проверку необходимо делать не по полному ip, а лишь по его части. Вообще говоря, идеально безопасной авторизации не существует, особенно ? при использовании cookie. Часто рекомендуют также проверять по заголовку ?User Agent?? Если задача авторизации состоит в том, чтобы помнить авторизованного на протяжении только одной сессии работы с сайтом, то стоит задуматься о стандартных методах авторизации пользователя с помощью посылки специальных заголовков?
×
×
  • 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