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

  Все выпуски  

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


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

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

Выпуск № 296
от 28.03.2006, 22:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 242, Экспертов: 33
В номере:Вопросов: 8, Ответов: 18


Вопрос № 38260: Hi, всезнающие знатоки! Почему у меня на локальном компе функция html_entity_decode() не работает, а когда размещаю в Сети, то все ок! Я так понимаю, что эта фукция появилась в PHP5, а у меня стоит PHP/4.2.3 Можно ли найти альтернативный...
Вопрос № 38274: Приветствие! У меня к Вам такой вопрос: "Как запустить директивы ssi в php-файле"? Насколько я понимаю, ssi может запускаться только в файлах shtm и shtml, а в других файлах, в частности в php-файле, эту возможность реализ...
Вопрос № 38286: Здраствуйте ! Есть картинка (фаил на диске jpg) надо уменьшить пропорционально ширина/высота уменьшить так чтобы ширена была 200, а высота зависила от исходного изображения, потом в фаил сохранить в другую папку получившуюся картинку. ...
Вопрос № 38303: У меня стоит apache 1.3 и php 4 - все работает, поставил php 5 - выдает внутренняя ошибка сервера, как настроить php.ini и httpd.conf для 5-й версии php Из командной строки когда запускаю php - то работает...
Вопрос № 38305: У меня стоит apache 1.3 и php 4 - все работает, поставил php 5 - выдает внутренняя ошибка сервера, как настроить php.ini и httpd.conf для 5-й версии php Из командной строки когда запускаю php - то работает и html apache отображает ...
Вопрос № 38309: Здравствуйте! Такие вопросы: 1) У меня есть скрипт 1.php, в котором находится форма с кнопками. Эта форма обрабатывается скриптом 2.php, к примеру. Каким образом определять, какая из кнопок была нажата в этой форме и как разбить события нажатия ...
Вопрос № 38320: Уважаемые эксперты! Вот такая проблема: нужно определить существет ли данный сайт в сети. Делал так: <? $url="http://mysite.com"; if (!@fopen($url,'r')) echo 'no site'; ?> Итак в Денвере всё работало х...
Вопрос № 38326: Уважаемые эксперты! Наконец свершился тот день когда я решил закачать свой сайт в Нет. Не обошлось без танцев с бубнами, вырывание волос на голове (благо их ещё много :)). И как вы понимаете, хотелось бы узнать оценку профессионалов. Итак...

Вопрос № 38.260
Hi, всезнающие знатоки!
Почему у меня на локальном компе функция html_entity_decode() не работает, а когда размещаю в Сети, то все ок!
Я так понимаю, что эта фукция появилась в PHP5, а у меня стоит PHP/4.2.3
Можно ли найти альтернативный вариант html_entity_decode() в четвертой версии PHP?
Отправлен: 22.03.2006, 22:35
Вопрос задал: Почерк (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Doctor013
Здравствуйте, Почерк!
Эта функция работает с PHP 4.3.0
1. Можно обновить версию - что мешает?
2. Можно использовать следующий код (в приложении)

P.S. Читайте мануал, там в описании функции этот код есть

Приложение:

---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.

Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 22.03.2006, 22:52

Отвечает: КиберТварь
Здравствуйте, Почерк!
http://php.net/manual/ru/function.html-entity-decode.php
// в версиях до PHP 4.3.0 можно сделать так:
function unhtmlentities($string)
{
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}

$c = unhtmlentities($a);

echo $c; // I'll "walk" the dog now
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 23:17


Вопрос № 38.274
Приветствие!

У меня к Вам такой вопрос: "Как запустить директивы ssi в php-файле"?

Насколько я понимаю, ssi может запускаться только в файлах shtm и shtml, а в других файлах, в частности в php-файле, эту возможность реализовать невозможно?

Что мне делать?
Как вариант, можно использовать javascript, но в данном случае мне это не подходит.

Заранее благодарен!
Отправлен: 23.03.2006, 01:21
Вопрос задал: Демьянчук Виталий (статус: Студент)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Doctor013
Здравствуйте, Демьянчук Виталий!
Начнем с того, а зачем? Все, что может ssi легко можно переписать под php(даже очень легко).
Далее, ssi может работать в ЛЮБЫХ файлах, в том числе и на php(но смешивать все равно не рекомендую), расширения файлов настраиваются в файле конфигурации сервера, например вот так
AddType text/html .shtml
AddHandler server-parsed .shtml .html .htm
Такой настойкой мы включили поддержку SSI в файлах с расширениями .shtml .html .htm

---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 23.03.2006, 08:10

Отвечает: Straight
Здравствуйте, Демьянчук Виталий!
А есть еще в PHP функция virtual, которая по сути и есть SSI.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 23.03.2006, 09:45

Отвечает: КиберТварь
Здравствуйте, Демьянчук Виталий!
в РНР есть такая функция virtual()
но она может выполнить только комманду
!--#include virtual="filename" --
а другие директыве не могут выполнятся в РНР файле
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 15:07


Вопрос № 38.286
Здраствуйте !
Есть картинка (фаил на диске jpg) надо уменьшить пропорционально ширина/высота
уменьшить так чтобы ширена была 200, а высота зависила от исходного изображения, потом в фаил сохранить в другую папку получившуюся картинку.
Отправлен: 23.03.2006, 08:56
Вопрос задал: Mahon (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Doctor013
Здравствуйте, Mahon!
Вот приблизительно так, подключаем класс, указываем откуда берем файл и куда кладем и делаем resize (код класса в приложении)
require_once('class.img2thumb.inc');

// $path - путь до исходного файла
// $name_img - название файла
// $filename - откуда

$filename=$path.$name_img;

// куда
$fileout =$path.'ico/'.$name_img;
// размер
$orig_size = getimagesize($filename); // получаем размеры исходной картинки


$newxsize=200; // ширина
$newysize=$orig_size[1]*$newxsize/$orig_size[0]; // вычисляем высоту

$neu = new Img2Thumb($filename,$newxsize,$newysize,$fileout);
?>

Приложение:

---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.

Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 23.03.2006, 11:40

Отвечает: Golden Spider
Здравствуйте, Mahon!

Если вы имеете ввиду сделать это средствами Php то:

Такое можно провернуть только если у вас установлена библиотека CD.
Делаем так.

$im=ImageCreateFromJpeg('image.jpg');
//если вы желаете уменьшать высоту пропорционально то нужно вычислить коофициент

$new_width=200;
$k=$new_width/imagesx($im);
$new_height=round(imagesy($im)*$k);
$new_im=imagecreate($new_width,$new_height);
//Вот здесь все и происходит:

imageCopyResized($new_im,$im,0,0,0,0,$new_width,$new_height,imagesx($im),imagesy($im));

//Save image

imagejpeg($new_im,'new_image.jpg');

imagedestroy($im);
imagedestroy($new_im);
Учтите что качество может давольно сильно пострадать.

---------
Сеть управляет всем, и только паук управляет сетью.
Ответ отправил: Golden Spider (статус: 5-ый класс)
Ответ отправлен: 23.03.2006, 11:49

Отвечает: КиберТварь
Здравствуйте, Mahon!
я взял пример из офф документации РНР
и немножко подправил

Приложение:

Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 23:41


Вопрос № 38.303
У меня стоит apache 1.3 и php 4 - все работает, поставил php 5 - выдает внутренняя ошибка сервера, как настроить php.ini и httpd.conf для 5-й версии php

Из командной строки когда запускаю php - то работает
Отправлен: 23.03.2006, 12:20
Вопрос задал: Топорков Алексей Иванович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Алексей Смуриков
Здравствуйте, Топорков Алексей Иванович!
Попробуйте сначала вместо файла интерпритатора php.exe поставить php-cgi.exe!
---------
Speccy Rulezz!!!
Ответ отправил: Алексей Смуриков (статус: Практикант)
Ответ отправлен: 23.03.2006, 21:05

Отвечает: КиберТварь
Здравствуйте, Топорков Алексей Иванович!
это можеть быть из за того что в 5-ой версии не надо добовлять модуль РНР только подгружать
т.е. после
LoadModule php5_module ....
AddModule mod_php5.c не надо писать
но точно не возможно ничего сказать вы бы привели бы часть httpd.conf
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 23:31


Вопрос № 38.305
У меня стоит apache 1.3 и php 4 - все работает, поставил php 5 - выдает внутренняя ошибка сервера, как настроить php.ini и httpd.conf для 5-й версии php

Из командной строки когда запускаю php - то работает и html apache отображает
Отправлен: 23.03.2006, 12:22
Вопрос задал: Топорков Алексей Иванович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: КиберТварь
Здравствуйте, Топорков Алексей Иванович!
что то мне подсказывает что я ответил на этот вопрос.
отвечу еще раз
может быть вы просто хотите добавить модуль
AddModule mod_php5.c
в 5-ой версии этой строки не надо
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 23:47


Вопрос № 38.309
Здравствуйте! Такие вопросы:
1) У меня есть скрипт 1.php, в котором находится форма с кнопками. Эта форма обрабатывается скриптом 2.php, к примеру. Каким образом определять, какая из кнопок была нажата в этой форме и как разбить события нажатия на разные кнопки, ведь обработчик один - 2.php?
2) Есть скрипт 1.php и в нем много форм, которые обрабатываются разными скриптами: 2.php, 3.php, ... (<form action="2.php" method="post"><select name="razd">...) Как мне передать переменную $razd из одной формы,которая обрабатывается скриптом 2.php в скрипт 3.php, который обрабатывает другую форму? $razd=$HTTP_POST_VARS['razd']; не работает :(
3) Есть форма:
<form action="test_vopr_f.php" method="post">
<input type="file" name="v_f">
<input type="submit" name="ok_0" value="Загрузить">
</form>
Мне надо при нажатии на кнопку передать полный путь с файлом ($v_f) в др. скрипт. У меня передается только имя файла, путь обрезается. Как это сделать?
Заранее спасибо!
Ответы плиз на мыло: dial_spam@pisem.net или bullet-proof@mail.ru
Отправлен: 23.03.2006, 12:59
Вопрос задал: Левин Алексей Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Doctor013
Здравствуйте, Левин Алексей Михайлович!
1. События нажатия кнопок снимаются на стороне клиента, на стороне сервера ты лишь можешь сделать несколько кнопок типа submit с разными значениями (value) и по этим значениям сделать вывод, какая из кнопок использовалась.
2. Можно все сделать все в одном обработчике, а передать значение из одной формы в другую легко можно с помощью JavaScript
3. Он(путь) и так передается. При загрузке файла на сервер у тебя образуется массив $_FILES['v_f'], при этом $_FILES['v_f']['name'] содержит полный путь файла на локальной машине, $_FILES['v_f']['tmp_name'] - полный путь на сервере.

---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 23.03.2006, 13:59

Отвечает: КиберТварь
Здравствуйте, Левин Алексей Михайлович!
1. каждой кнопке дайте имя и в принемающем скрипте напишите условие
input type=submit name='but1' value='Knopka 1'
input type=submit name='but2' value='Knopka 2'
...
if (isset($_POST['but1'])){
//Nazhata Knopka 1
}else{
//nazhata knopka 2
}
2. не совсем понятен вопрос если можно по конкретней
3. нужно в тэгэ form прописать следующее enctype="multipart/form-data"
а дальше работать с массивом $_FILES
http://php.net/manual/ru/features.file-upload.php
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 24.03.2006, 23:53


Вопрос № 38.320
Уважаемые эксперты!
Вот такая проблема:
нужно определить существет ли данный сайт в сети. Делал так:
<?
$url="http://mysite.com";
if (!@fopen($url,'r')) echo 'no site';
?>

Итак в Денвере всё работало хосты находило если они есть. Но при закачке в нет всё время выдает что такого сайта нет (но если ввести url сата с которого скрипт запушен то работает).
Что делать?
Отправлен: 23.03.2006, 15:04
Вопрос задал: Golden Spider (статус: 5-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Straight
Здравствуйте, Golden Spider!
Открытие удаленных хостов через fopen может быть запрещено хостером. Попробуйте fsockopen (см. документацию). Это, правда, тоже бывает запрещено, но несколько реже.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 23.03.2006, 15:17

Отвечает: КиберТварь
Здравствуйте, Golden Spider!
это потому что отключена поддержка
allow_url_fopen boolean
Данная директива включает поддержку упаковщиков URL (URL wrappers), которые позволяют работать с объектами URL, как с обычными файлами. Упаковщики, доступные по умолчанию, служат для работы с удаленными файлами с использованием протокола ftp или http. Некоторые расширения, например, zlib, могут регистрировать собственные упаковщики
попробуйте через функцию gethostbyname
http://php.net/manual/ru/function.gethostbyname.php
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 23:22


Вопрос № 38.326
Уважаемые эксперты!
Наконец свершился тот день когда я решил закачать свой сайт в Нет. Не обошлось без танцев с бубнами, вырывание волос на голове (благо их ещё много :)).
И как вы понимаете, хотелось бы узнать оценку профессионалов.
Итак www.trsys.h16.ru. Сайт представляет собой рейтинговую систему (топ 100,каталог, форум...) расположен на бесплатном хостинге временно - для искоренения ошибок. Просьба высказать своё честное и непредвзятое мнение.

P.S. Как вы понимаете "5" каждому!
Отправлен: 23.03.2006, 15:53
Вопрос задал: Golden Spider (статус: 5-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Rusland
Здравствуйте, Golden Spider!
Так и не сообразил как зарегистрировать сайт в каталоге. И подправить не забудь слово "Зарегестрироваться".
---------
Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 23.03.2006, 16:01

Отвечает: КиберТварь
Здравствуйте, Golden Spider!
мнение такое
сайт написал конкретный КОДЕР.
дизайн простой
и вся работа сделана исключительно не для красоты а для пользы
вам остается выбрать только хорошего дизайнера и менеджера и смела открывайте свою веб студию
Ответ отправил: КиберТварь (статус: Специалист)
Ответ отправлен: 23.03.2006, 23:27

Отвечает: RedDevil
Здравствуйте, Golden Spider!
Во-первых, белый цвет использовать нельзя. Он сильно бросается в глаза и они быстро устоют, нужно сделать его более темным, немного уменьшить яркость.
Во-вторых, слева у таблиц навигаций соверешенно нет отступов, ни слева, ни снизу. Да и картинка с рейтингом почти сливается. Смотрится некрасиво.
Добро пожаловать - я бы сделал шрифт побольше.

Я бы еще продолжил эксперементы с фоном. Вроде ничего, но кажется можно цветовую гамму сделать еще красивее. Всякие мелочи, в данном случае я бы убрал у ссылок underline. Они и там синие и сильно выделяются.
Ответ отправил: RedDevil (статус: 8-ой класс)
Ответ отправлен: 24.03.2006, 08:52


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное