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

  Все выпуски  

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


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

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

Выпуск № 348
от 22.05.2006, 21:35

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


Вопрос № 43282: Эксперты здрасте! У меня такой вопрос: как по заданому урл загрузить юзеру любые данные без переадресацыи? И как, опять по заданому урл, определить все файлы на серве? Например url = "www.xxx.xxx.ru/xxx/yyy" и вывесьти что лежыт в п...
Вопрос № 43296: Здравствуйте, уважаемые экперты! В БД MySQL у меня лежат статьи. Когда я заполняю базу статьями, используя запросы, статьи отображаются, как надо. Но есть через админку подредактировать статью и сохранить измеения, то все теги html в базу сохраняются...
Вопрос № 43327: Здраствуйте! Есть сайт с файлами где на каждый файл ведет ссылка http://site.net/files/file.html где вместо file название файла. На этой странице есть ссылка на скачивание файла, такого типа: <a href="http://site.net/files/всякие_...
Вопрос № 43334: есть сайт, крутится на апаче. на сервере есть XML-файл. на странице есть тег <td align='left'><a href=../Reprot/OfficialXML.xml TARGET=_blank>Отчет</a></td> так вот проблема в том что откравется он ввиде структуры...
Вопрос № 43340: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как выбрать из таблицы только те записи, где дата - сегодняшний или вчерашний день(т.е. послединие записи за два дня)? Заранее благодарен!...
Вопрос № 43383: Здраво эксперты! У меня такое дело: я пишу систему авторизации на сайте, раскажите, каким способом можно через програмный код php в уже готовой базе данных MySQL создать новую таблицу из трёх колонок, записывать в эту таблицу информацию и...

Вопрос № 43.282
Эксперты здрасте!
У меня такой вопрос: как по заданому урл загрузить юзеру любые данные без переадресацыи?
И как, опять по заданому урл, определить все файлы на серве? Например url = "www.xxx.xxx.ru/xxx/yyy" и вывесьти что лежыт в папки ууу.
Надеюсь всё понятно.
Кто поможет тому спасибо!
Отправлен: 17.05.2006, 02:10
Вопрос задал: Mirgorodchenko Anton (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Alexey Vilchinsky
Здравствуйте, Mirgorodchenko Anton!
просто так определить какие файлы лежат в папке не удастся (если конечно нет доступа к этой папке по фтп).
Можно конечно просканировать все страницы сайта на ссылки, и если есть ссылки с присутствием в адресе этой папки, сохранять этот адрес, но я думаю, это будет довольно таки трудоемкое занятие тянуть с сайта весь контент.
смысл вопроса "как по заданому урл загрузить юзеру любые данные без переадресацыи?" не очень понятен. А вообще загрузить любые данные никто не даст. Юзер может загрузить только те данные, к которым разрешен доступ на скачивание, и то при этом требуется знать урл к нужному файлу.
---------
Делая людям добро, мы возвращаем его многократно...
Ответ отправил: Alexey Vilchinsky (статус: 7-ой класс)
Ответ отправлен: 17.05.2006, 08:23
Оценка за ответ: 3


Вопрос № 43.296
Здравствуйте, уважаемые экперты! В БД MySQL у меня лежат статьи. Когда я заполняю базу статьями, используя запросы, статьи отображаются, как надо. Но есть через админку подредактировать статью и сохранить измеения, то все теги html в базу сохраняются кодами(например вместо "<b>" стоит "<b>") и при выводе все это показывается, как обычный текст. ПОдскажите, пожалуйста, как сделать, чтобы html оставался как есть? Заранее спасибо!
Отправлен: 17.05.2006, 08:39
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: AllCash
Здравствуйте, Андрющенко Вячеслав Васильевич!
проверь в скрипте не стоит ли у тебя при выводе статьи на редактирование или при записи в БД функция htmlspecialchars() или htmlentities().
Ответ отправил: AllCash (статус: 2-ой класс)
Ответ отправлен: 17.05.2006, 10:18

Отвечает: Драк Георгий
Здравствуйте, Андрющенко Вячеслав Васильевич!
Скорее всего у вас при сохранении отредактированной статьи текст проходит через функцию htmlspecialchars(); либо происходит что-то вроде:
$val = str_replace( ">" , ">" , $val );
$val = str_replace( "<" , "<" , $val );
В этом случае тэги тоже будут просто отображаться.
---------
Sonic always help you, if he wish...
Ответ отправил: Драк Георгий (статус: 3-ий класс)
Ответ отправлен: 17.05.2006, 10:31

Отвечает: Константин
Здравствуйте, Андрющенко Вячеслав Васильевич!
А как ты в админке все это дело из формы загоняешь в БД? htmlspecialchars()? Может применяешь ко всем данным свою функцию обрабоки, которая в числе прочего и заменяет символы "больше" и "меньше" на "& gt;" и "& lt;"?
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 5-ый класс)
Ответ отправлен: 17.05.2006, 15:48


Вопрос № 43.327
Здраствуйте!
Есть сайт с файлами где на каждый файл ведет ссылка http://site.net/files/file.html
где вместо file название файла. На этой странице есть ссылка на скачивание файла, такого типа:
<a href="http://site.net/files/всякие_символы_которые_меняются_каждые_несколько_дней/file.zip">скачать файл</a>

Подскажите плиз, как мне вытащить ссылку на файл чтобы поставить на моём сайте.
т.е. чтобы давать ссылку не на http://site.net/files/file.html а сразу на http://site.net/files/всякие_символы_которые_меняются_каждые_несколько_дней/file.zip
Проблема как раз в этой части:
../всякие_символы_которые_меняются_каждые_несколько_дней/...

Помогите плиз.
Отправлен: 17.05.2006, 13:03
Вопрос задал: SKC (статус: 2-ой класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: AllCash
Здравствуйте, SKC!
смотри в аттаче, работает при условии отсутствия символа "/" в строке "всякие_символы_которые_меняются_каждые_несколько_дней", по идее их быть не должно.

Приложение:

Ответ отправил: AllCash (статус: 2-ой класс)
Ответ отправлен: 17.05.2006, 13:23
Оценка за ответ: 5
Комментарий оценки:
спасибо, попробую.

Отвечает: Станкевич Александр Алексеевич
Здравствуйте, SKC!
Я так понимаю, Вам нужно из http://site.net/files/всякие_символы_которые_меняются_каждые_несколько_дней/file.zip вытащить само название файла и подставить его в http://site.net/files/file.html?

То есть у меня такое предложение: См. приложение.

Приложение:

Ответ отправил: Станкевич Александр Алексеевич (статус: 2-ой класс)
Ответ отправлен: 17.05.2006, 13:38

Отвечает: Котов Игорь Петрович
Здравствуйте, SKC!
Я надеюсь, что никак!
Ибо это и есть одна из разновидностей защиты от личеров - воров чужого контента.
Поищите статейки по сетевой этике в Яндексе. ;)
---------
Поддержим российского производителя!
Ответ отправил: Котов Игорь Петрович (статус: 2-ой класс)
Ответ отправлен: 17.05.2006, 13:52

Отвечает: Jeka911
Здравствуйте, SKC!

Красиво сделать не выйдет, на то ссылка и меняется каждые несколько дней.
Но если очень хочется, можно анализировать и выделять прямую ссылку на файл из http://site.net/files/file.html.
Т.е. генерировать ее динамически.
$fp = fopen(" http://site.net/files/file.html","r");
..и вперед.
---------
Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 3-ий класс)
Ответ отправлен: 18.05.2006, 00:08


Вопрос № 43.334
есть сайт, крутится на апаче. на сервере есть XML-файл. на странице есть тег
<td align='left'><a href=../Reprot/OfficialXML.xml TARGET=_blank>Отчет</a></td>

так вот проблема в том что откравется он ввиде структуры. хотя файл CSV, там же по такой же ссылке открывет таблицу типа EXEL
Отправлен: 17.05.2006, 13:59
Вопрос задал: Santana (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Котов Игорь Петрович
Здравствуйте, Santana!
Простите, если сумбурно написал - старался проще и понятнее.

Ваша ссылка <a href=../Reprot/OfficialXML.xml TARGET=_blank>Отчет</a> ведет именно к xml-файлу. Такое часто делается для предоставления экспорта новостей/материалов сайта - RSS.

И конечно, всё правильно, при клике на ссылку в браузере открывается "ересь" :)
Для просмотра подобных файлов применяют спец. программы - просмотровщики RSS или плагины к браузерам.

Для встраивания на сторонний сайт - применяется спец. скрипт парсер, который превращает xml-файл в "ЧеловекоЧитабельный".
---------
Поддержим российского производителя!
Ответ отправил: Котов Игорь Петрович (статус: 2-ой класс)
Ответ отправлен: 17.05.2006, 14:19

Отвечает: Alexey Vilchinsky
Здравствуйте, Santana!
ну так правильно - при загрузке расширения браузер проверяет не связана ли с ним какая нить программа.
Если связана, то пытается открыть ей.
А при загрузке xml автоматом запускается парсер браузера и выводит этот документ в виде структуры.

---------
Делая людям добро, мы возвращаем его многократно...
Ответ отправил: Alexey Vilchinsky (статус: 7-ой класс)
Ответ отправлен: 17.05.2006, 16:35


Вопрос № 43.340
Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как выбрать из таблицы только те записи, где дата - сегодняшний или вчерашний день(т.е. послединие записи за два дня)? Заранее благодарен!
Отправлен: 17.05.2006, 14:20
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Станкевич Александр Алексеевич
Здравствуйте, Андрющенко Вячеслав Васильевич!
Могу подсказать такую конструкцию:

$date_prev = date("Y-m-d",strtotime("-2 day"));
mysql_query("Select * from statistica where DATE_FORMAT(datetime, '%Y-%m-%d') >= '$date_prev'");

Этот запрос возвращает записи, сделанные за последние два дня, если считать, что datetime - время добавления записи в таблицу.
Ответ отправил: Станкевич Александр Алексеевич (статус: 2-ой класс)
Ответ отправлен: 17.05.2006, 14:38

Отвечает: Константин
Здравствуйте, Андрющенко Вячеслав Васильевич!
Зависит от того, как хранится дата. Если как dd.mm.yyyy(17.05.2006), то тогда нужно вручную сгенерировать даты, за которые выбираются записи. Допустим, у вас получаются даты 16.01.2006 и 15.01.2006. После этого делаем запрос
SELECT * FROM `table`, WHERE `date`='16.01.2005' OR `date`='15.01.2005'
Как генерировать дату... Допустим, можно взять timestamp и отформатировать его как надо.
strftime('%d.%m.%Y', time()-24*3600*2); //два дня назад и
strftime('%d.%m.%Y', time()-24*3600);//день назад
Другой вариант. Все хранится в timestamp. Тогда вообще все просто:
$sql = 'SELECT * FROM `table`, WHERE `date`>'.(time()-24*3600*2);
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 5-ый класс)
Ответ отправлен: 17.05.2006, 15:43

Отвечает: Alexey Vilchinsky
Здравствуйте, Андрющенко Вячеслав Васильевич!
вопрос некорректен
из какой таблицы?
если базы данных то какой СУБД?
если mysql то примерно так:
select * from имя таблицы where TO_DAYS(NOW()) - TO_DAYS(имя поля типа дата) <= 2;

---------
Делая людям добро, мы возвращаем его многократно...
Ответ отправил: Alexey Vilchinsky (статус: 7-ой класс)
Ответ отправлен: 17.05.2006, 16:41

Отвечает: Cybernetic_Creature
Здравствуйте, Андрющенко Вячеслав Васильевич!
$nd = date('d');
$nm = date('m');
$ny = date('Y');
$yday = date('Y-m-d',mktime(0,0,0,d-1,m,y));
$tday = date('Y-m-d',mktime(23,59,59,d,m,y));

$query = "select * from table where dat between '$yday' and '$tday'";
$res = mysql_query($query);
Ответ отправил: Cybernetic_Creature (статус: Специалист)
Ответ отправлен: 18.05.2006, 09:16


Вопрос № 43.383
Здраво эксперты! У меня такое дело: я пишу систему авторизации
на сайте, раскажите, каким способом можно через програмный код
php в уже готовой базе данных MySQL создать новую таблицу из
трёх колонок, записывать в эту таблицу информацию и потом её же
от туда и считывать и изменять и удалять?
Отправлен: 17.05.2006, 19:07
Вопрос задал: Ploter (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jeka911
Здравствуйте, Ploter!

$q = "запрос";
mysql_query($q); //его выполнение.

while ($row = mysql_fetch_array($result)) {
printf ("ID: %s Name: %s", $row['id'], $row['name']);
}// перебор результата.

Запросы:
Создание таблицы:

CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
login TEXT NOT NULL ,
pass TEXT NOT NULL
);

Добавить данные
INSERT INTO users (id,login,pass)
VALUES ('','$newlogin','$newpass');

Запрос данных
SELECT * FROM users;

Удалить по id;
DELETE FROM users WHERE id='$id';
---------
Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 3-ий класс)
Ответ отправлен: 18.05.2006, 00:00
Оценка за ответ: 5
Комментарий оценки:
замечательно! всё путево написанно!

Отвечает: LanParty
Здравствуйте, Ploter!
phpMyAdmin там все есть
Ответ отправил: LanParty (статус: 1-ый класс)
Ответ отправлен: 18.05.2006, 09:03
Оценка за ответ: 1
Комментарий оценки:
А Я СПРАШИВАЛ КОГО-НИБУДЬ ПРО
РНРMyAdmin?

Отвечает: Cybernetic_Creature
Здравствуйте, Ploter!
вам нужно знать хотябы азы SQL
или же воспользоватся phpMyAdmin (http://phpmyadmin.net)
примеры
создать тбл из 3 колонок
create table mytable(
kol1 int not null, kol2 varchar(20), kol3 date
)
запись
insert into mytable (kol1,kol2,kol3) values (1,'Hi','2006-05-15')
менять
update mytable set kol2='MM' where kol1=1
читать
select * from mytable
удалять
delete from mytable where kol1=1
найдите хороший учебник по SQL
там все подробно написано
Ответ отправил: Cybernetic_Creature (статус: Специалист)
Ответ отправлен: 18.05.2006, 09:38
Оценка за ответ: 5
Комментарий оценки:
охрененно, сделал и всё работает,
только вот ещёбы написал где учебник
найти...


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное