Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 762
от 09.09.2007, 06:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 436, Экспертов: 47
В номере:Вопросов: 6, Ответов: 12


Вопрос № 100605: Здравствуйте уважаемый специалист. При нажатии на ссылку вида <a href="arc.rar">архив</a> в opera 9.10, как наверно и во всех остальных версиях, происходит открытие архива в текстовом формате в окне браузера. К...
Вопрос № 100637: Здраствуйте. Столкнулся со сложностями при написании, казалось бы, примитивной функции. Но все же прошу помощи... $file=файл считанный в массив построчно $delimeter,$decel=разделители (например " " и ",") ...
Вопрос № 100692: Всем привет, подскажите, как мне получить html-код странички на другом сервере, передав туда 2 переменных методом POST? Через заголовки или как? Заранее спасибо!...
Вопрос № 100695: Здравствуйте, уважаемые эксперты. У меня такая проблема: я создала сайт (на денвере тестировала), все работало отлично. А когда выложила его в сеть, у меня перестали работать ссылки вида index.php?menu=ХХХ. Просто инклюдится файл, который вкладываетс...
Вопрос № 100734: Уважаемые эксперты! Возникла проблема с mcrypt. Есть 2 функции (код в приложении), одна шифрует другая дешифрует. пробовал выполнить такой код: $vector=0; $text=crypt_text('some text','password',$vector); $text=encrypt_te...
Вопрос № 100739: Здравствуйте, у меня вопрос, если фото галерея но фотографии открываются как отдельные и имеет урл такой http://www.******.com/files/20070815095729.jpg как мне сделать что бы фото открывались в новом окне с таким к примеру урл-о...

Вопрос № 100.605
Здравствуйте уважаемый специалист.

При нажатии на ссылку вида <a href="arc.rar">архив</a> в opera 9.10, как наверно и во всех остальных версиях, происходит открытие архива в текстовом формате в окне браузера.

Как сделать чтобы вместо этого выводильсь окно сохранения. ТАКЖЕ КАК В IE.
Отправлен: 03.09.2007, 05:45
Вопрос задал: patricks (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Miklucho
Здравствуйте, Сидоров Иван Петровичев!
Попробуйте перед выводом архива послать заголовок

header("content-type: application/x-rar-compressed");

Т.е. для скачивания вашего архива вам потребуется ссылка вида

архив

Скрипт script.php будет сначала выдавать заголовок и а потом считывать сам архив, и выдавать его в браузер.
Ответ отправил: Miklucho (статус: Студент)
Ответ отправлен: 03.09.2007, 06:21

Отвечает: Azrr
Здравствуйте, Сидоров Иван Петровичев!
Вы можите воспользоваться приведённой в приложении конструкцией, но будьте осторожны, это только пример, вам нужно будет следить за передающимися пользователем параметрами!

Ссылки будут вида: http://somesite.ru/download.php?file=arc.rar

Приложение:

Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 23:09


Вопрос № 100.637
Здраствуйте.
Столкнулся со сложностями при написании, казалось бы, примитивной функции. Но все же прошу помощи...

$file=файл считанный в массив построчно
$delimeter,$decel=разделители (например " " и ",")

function parse_string_in_array($file,$delimeter,$decel){
for($i=0;$i<count($file);$i++)
{
$file[$i]=trim($file[$i]);
if(strlen($file[$i])>0){
$de_lines=explode($delimeter,$file[$i]);
$lines[count($de_lines)][$i]=implode($decel,$de_lines);
}
}
ksort($lines);
return $lines;
}

Проблема: при работе с исходным файлом более 2Мб функция отказывается работать (пропадает массив $lines). Данная ошибка происходит только на системе под FreeBSD, а при тесте на локалхосте на Denwere все отрабатывает нормально.
зы: настройки PHP на локальном и удаленном сервере приведены к максимальному соответствию.

Приложение:

Отправлен: 03.09.2007, 10:47
Вопрос задал: Антон Нестеренко (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Бородин Александр Олегович
Здравствуйте, Антон Нестеренко!
Возможно, это связано с таким параметром конфигурации PHP, как max_file_size, - максимальный размер загружаемого файла. Не два ли он метра на FreeBSD?
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Бородин Александр Олегович (статус: 8-ой класс)
Ответ отправлен: 03.09.2007, 17:17


Вопрос № 100.692
Всем привет, подскажите, как мне получить html-код странички на другом сервере, передав туда 2 переменных методом POST?
Через заголовки или как?
Заранее спасибо!
Отправлен: 03.09.2007, 16:51
Вопрос задал: Stals (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Zmikhael
Здравствуйте, Stals!
Попробуйте посмотреть вот этот топик: http://www.web-faq.ru/articles/showarticles_284.html
---------
Нет предела человеческому совершенству
Ответ отправил: Zmikhael (статус: 1-ый класс)
Ответ отправлен: 03.09.2007, 16:57

Отвечает: Gines
Здравствуйте, Stals!

Передачу данных методом POST можно осуществить используя сокеты. Ознакомиться с решением данной задачи можно по следующей ссылке:

http://www.softtime.ru/forum/read.php?id_forum=7&id_theme=15857
(это решение задачи http://www.softtime.ru/info/task.php?id_article=87 которая, думаю, как раз подходит под Ваши условия)
Ответ отправил: Gines (статус: 4-ый класс)
Ответ отправлен: 03.09.2007, 17:52

Отвечает: Flynn
Здравствуйте, Stals!
Для такого существует в РНР билблиотека cURL. Для работы с ней необходимо подключить её из php.ini.
Небольшой пример в приложении.
Прочитать о библиотеке можно тут - http://www.php.net/manual/ru/ref.curl.php

Приложение:

Ответ отправил: Flynn (статус: 5-ый класс)
Ответ отправлен: 03.09.2007, 23:50

Отвечает: Azrr
Здравствуйте, Stals!
Можите взять скрипт в приложении как основу, там всё предельно просто.

Приложение:

Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 23:19


Вопрос № 100.695
Здравствуйте, уважаемые эксперты. У меня такая проблема: я создала сайт (на денвере тестировала), все работало отлично. А когда выложила его в сеть, у меня перестали работать ссылки вида index.php?menu=ХХХ. Просто инклюдится файл, который вкладывается в главную страницу. Подозреваю, что что-то с настройками php на сервере. Помогите, пожалуйста! В приложении код index.php.

Приложение:

Отправлен: 03.09.2007, 17:23
Вопрос задала: Angel7 (статус: Практикант)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 12)

Отвечает: Бородин Александр Олегович
Здравствуйте, Angel7!
Подозреваю, что на сервере отключен register_globals. Поэтому переменная $menu не определяется. Чтобы определялось все, надо $menu заменить на $_GET["menu"]. Забудьте о существовании register_globals=On, пусть он будет Off!:)

Готов поспорить на щелбан, что я прав.:)
Возможно, что это не единственная ошибка, но она мне в глаза сразу бросилась, я на этих глобалсах собаку зъил уже.
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Бородин Александр Олегович (статус: 8-ой класс)
Ответ отправлен: 03.09.2007, 17:31
Оценка за ответ: 5
Комментарий оценки:
Щелбан я проиграла, все так и оказалось :) Пока на сайте все будет с включенными глобальными переменными, постепенно заменю все. Спасибо!

Отвечает: Gines
Здравствуйте, Angel7!

Согласен с предыдущим экспертом, что проблема может крыться в register_globals. Но возможна проблема кроется и в регистре содержимого переменной $menu. Потому, как если сервер под линуксом, то регистр имеет значение и ссылка index.php?menu=ХХХ не будет указывать на файл xxx/index.php. Регистр должен быть одним, какой в имени файла/папки по ссылке, такой и в имени файла/папки на сервере.
Ответ отправил: Gines (статус: 4-ый класс)
Ответ отправлен: 03.09.2007, 17:40
Оценка за ответ: 4
Комментарий оценки:
Большое спасибо, но не в этом дело :) Я с такой проблемой уже сталкивалась, поэтому теперь внимательна к регистру.


Вопрос № 100.734
Уважаемые эксперты!
Возникла проблема с mcrypt.
Есть 2 функции (код в приложении), одна шифрует другая дешифрует.

пробовал выполнить такой код:
$vector=0;
$text=crypt_text('some text','password',$vector);
$text=encrypt_text($text,'password',$vector);
echo $text;

1 выполняется прекрасно шифрование произваодится удачно, а вот на второй апач вылетает, сообщеет об ошибке (причём именно бинарник апача), и работать дальше отказывается. Пробовал запускать на сервере та же ситуация. Где глюк?

P.S. mcrypt_generic_deinit - почему эта функция неопределена?

Приложение:

Отправлен: 03.09.2007, 23:06
Вопрос задал: J D (статус: 6-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Бородин Александр Олегович
Здравствуйте, J D!
Здравствуйте, J D!
В коде приложения, который Вы привели, есть небольшие огрехи. Если такие же огрехи есть и в коде, который Вы непосредственно запускаете, то возможно, что не все так мрачно.

Если Вы проверяете наличие функции вызовом функции function_exists(), не ставьте пробела между function_exists и скобками. Это может запросто к ошибке привести.
Я никогда не работал с этими функциями плотно, но это действительно странно, что функция не определена. Я так понимаю, что модуль php_mcrypt.dll(так ведь он называется) у Вас подключен, правильно?
Кроме того, Д. Котеров и Ко, например, настоятельно не рекомендуют подключать в PHP этот модуль, потому что он работает не очень стабильно. Я не о личных предпочтениях Д. Котерова, у Вас есть задача, и Вы как-то должны с ней справиться. Я о том, что модуль этот потенциально опасен. Поэтому могут быть какие-нибудь осложнения.
Вы уверены, что код Вами написан синтаксически корректно? Если Вы уверены, что функция mcrypt_generic_deinit существует, но скрипт не хочет ее вызывать, то поскольку на ее вызов есть условие - чтобы эта функция существовала, надо проверить именно это условие на выполняемость. Я в коде приложения увидел маленькую и незаметную ошибку. Логично предположить, что при наличии такой маленькой синтаксической ошибки код будет работать не очень корректно. Значит, надо попробовать эту ошибку устранить. Добиться, чтобы условие function_exists давало true. Вот такая перед Вами маленькая задачка.

Приложение:

---------
Ничто не сближает людей так, как совместное преступление.

Ответ отправил: Бородин Александр Олегович (статус: 8-ой класс)
Ответ отправлен: 04.09.2007, 08:17
Оценка за ответ: 2
Комментарий оценки:
1) Одна вода и не более
2) ПХП всю жизнь плюёт на пробелы
3) у меня нет ошибке в коде, они имею правило отображать информацию о себе, а тут вылетает апач
4) Котеров хороший человек, но из-за его вкусов я не могу отменить шифрование документов (Потичайте Хадсона)
5) есть такая вещь как мануал ПХП, если в нём написано, что функция должна быть, значит она должна быть.


Вопрос № 100.739
Здравствуйте, у меня вопрос,
если фото галерея но фотографии открываются как отдельные
и имеет урл такой
http://www.******.com/files/20070815095729.jpg

как мне сделать что бы фото открывались в новом окне с таким к примеру урл-ом
http://www.******.com/foto/show.php

не могу понять как сделать передачу адреса фотографии на страничку show.php

в приложении ссылка на фото та что сейчас стоит.

Приложение:

Отправлен: 04.09.2007, 00:01
Вопрос задал: Митин С. (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Flynn
Здравствуйте, Митин С.!
Адрес фотографии указывать совсем не обязательно. Можно просто её название.
fotos/show.php?do=143451345342.jpg
А вот уже сам скрипт show.php должен получать название этой картинки, проверяет есть ли такая в директории (она должна быть одна для всех фотографий получается, либо же проверять кучу директорий) и если есть - выдавать её в браузер. Для последнего вам потребуется функция header("Content-Type: image/jpeg") - которая отправит в браузер заголовок показывающий что это картинка в jpg формате и что её надо открывать как картинку, а не текст. Ну а потом уже отправить саму картинку в браузер как текст (fopen();fpassthru();echo() и так далее - вариантов хватает).
Ответ отправил: Flynn (статус: 5-ый класс)
Ответ отправлен: 04.09.2007, 00:20
Оценка за ответ: 5
Комментарий оценки:
Спасиб не очень понял но идея нравиься!!!

Отвечает: Katyass
Новая ссылка на фото будет выглядеть так:

$image = "<a href='http://www.******.com/foto/show.php?file=".$par['big']."' title='".$par['name']."' target='_blank' ><img border=0 title='".$par['name']."' src='".$par['small']."' border=0 vspace=3 hspace=5 align=left></a>";

где $par['big'] - это имя картинки (например 20070815095729.jpg).

Тогда файл show.php будет выглядеть так:

<?
//устанавливаем фбсолютный путь к папке с картинками
$path = "http://www.******.com/files/";
//проверка на то, что параметр с названием картинки был передан
if (isset($_GET['file']) && !empty($_GET['file']))
{
//проверка на существование картинки
if (is_file($path . $_GET['file']))
{
//вывод картинки, используя html
echo "<html>
<head>
<title>Image</title>
</head>
<body>
<img src='" . $path . $_GET['file'] . "' border='0'>
</body>
</html>";
}
}
?>
Ответ отправила: Katyass (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 11:12
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое очень помогли!!!!!
а не подскажите как можно скрыть путь к фотографии в урл
http://www.*****.com/foto/show.php?file=../files/20070815082845.jpg


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.58 от 30.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное