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

  Все выпуски  

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


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

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

Выпуск № 478
от 04.10.2006, 23:35

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


Вопрос № 57091: Здравствуйте. Вопрос такой: Вношу сведения в Базу данных на русском языке, при выводе вместо русских букв отображается какая-то куралесица. А также скорее всего связанный с первым вопрос: У меня на сайте есть файлы с русским названием, при попыт...
Вопрос № 57149: Ув.эксперты, подскажите как с помощь PHP закачать файл на сервер. ...
Вопрос № 57175: подскажите где можно скачать хорошие книги для обучения PHP...

Вопрос № 57.091
Здравствуйте.
Вопрос такой: Вношу сведения в Базу данных на русском языке, при выводе вместо русских букв отображается какая-то куралесица. А также скорее всего связанный с первым вопрос: У меня на сайте есть файлы с русским названием, при попытке скачать их пишет что файла http://site/%5%6%7.mid не существует, как избавиться от этого.
У меня установлен сервер Apache 2.0.55 и PhP 4.4.2.
Спасибо.
Отправлен: 29.09.2006, 00:30
Вопрос задал: KeeperX (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Punk_UnDead
Здравствуйте, KeeperX!
везде укажите правильно кодировку
это раз
при после каждого коннекта перед чтением/добавлением сделайте
mysql_query("SET NAMES cp1251;");

и вот ещё ссылка

Приложение:

---------
всё испытано на себе

Ответ отправил: Punk_UnDead (статус: 1-ый класс)
Ответ отправлен: 29.09.2006, 00:47

Отвечает: Cimus
Здравствуйте, KeeperX!
Во время создания таблиц указвайте кодировку CHARSET=cp1251.
CREATE TABLE `название` (
структура таблицы
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

После подслючения к базе данных выполните следующее
mysql_query("SET NAMES cp1251;", $bdlink);

---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 8-ой класс)
Ответ отправлен: 29.09.2006, 01:37

Отвечает: Бородин Александр Олегович
Здравствуйте, KeeperX!
Здравствуйте, KeeperX!
1) Данные на русском языке не отображаются, потому что у Вас какие-то траблы с кодировкой. Поставьте кодировку cp1251.
2) Файлы с "кириллическими" именами никогда в жизни на сервере работать не будут. Видите ли, на оси UNIX(а я подозреваю, что на сервере установлена именно она) "кириллические" имена не воспринимаются. Переименуйте файлы "латинически".
---------
Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Ответ отправил: Бородин Александр Олегович (статус: 1-ый класс)
Ответ отправлен: 29.09.2006, 07:16


Вопрос № 57.149
Ув.эксперты, подскажите как с помощь PHP закачать файл на сервер.
Отправлен: 29.09.2006, 17:23
Вопрос задал: Гузенко Руслан Николаевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Cimus
Здравствуйте, Гузенко Руслан Николаевич!
Для начала посмотрим саму форму:
в свойствах формы, помимо параметра action и метода отправки, необходимо указать свойство enctype. Это свойство определяет в какой кодировке должны быть отправленны данныые. Для файлов, особенно бинарных, кодировки недолжно быть вообще, поэтому указываем enctype="multipart/form-data".
После загрузки файлов на сервер, данные можно получить из массива $HTTP_POST_FILES. Этот массив являеться двумерным. Первый уровень определяет имена полей, в которых находяться параметры файла. Одна форма может отправлять несколько файлов, поэтому $HTTP_POST_FILES['поле'] - указывает на нужный файл. Для вормы из примера это будет $HTTP_POST_FILES['file1'] и $HTTP_POST_FILES['file2'] соответственно.
Второй уровень определяет свойства загруженного файла. Здесь есть следующие элементы:
1)name - имя файла источника на машине клиента
2)type - тип файла
3)tmp_name - имя временного файла, куда был загруженфайл пользователя
4)size - размер файла
5)error - номер ошибки
На unix-серверах временный файл создаёться (чаще всего) в каталоге /temp, который являеться общедоступным. Будет намного эффективнее если в сценарии загружаемый файл будет скопирован в специально отведённый для этого каталог.

В данном примере файл копируеться в каталог со скриптом
if(copy($HTTP_POST_FILES['file1']['tmp_name'],'./'.$HTTP_POST_FILES['file1']['name']))
print 'копирование завершено';
else
print 'ошибка копирования';

В само форме можно указать максимальный размер загружаемого файла
<input type=hidden name="max_file_size" value=300> - максимум 300 байт

Приложение:

---------
Достичь можно любых высот !

Ответ отправил: Cimus (статус: 8-ой класс)
Ответ отправлен: 29.09.2006, 17:41

Отвечает: Загиров Рустам
Здравствуйте, Гузенко Руслан Николаевич!
Добавления к предыдущему ответу:
1)Вместо массива $HTTP_POST_FILES можно использовать $_FILES
2) обычно пользуються специальной функцией move_uploaded_file() для перемещения, вместо копирования.
Если превышен размер можно дать сообщение:

$data=$_FILES['file1'];
if ($data['error']==2 || $data['error']==1) print "Превышен размер";

---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 29.09.2006, 23:19

Отвечает: Бородин Александр Олегович
Здравствуйте, Гузенко Руслан Николаевич!
Для этого существует функция copy. Советую ознакомиться с ее синтаксисом, больше Вам ничего не понадобится.
---------
Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Ответ отправил: Бородин Александр Олегович (статус: 1-ый класс)
Ответ отправлен: 01.10.2006, 11:02


Вопрос № 57.175
подскажите где можно скачать хорошие книги для обучения PHP
Отправлен: 29.09.2006, 21:32
Вопрос задал: Taliya (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Загиров Рустам
Здравствуйте, Taliya!
Можете поискать тут. А вообще хорошая книга по php, на мой взгляд, - это книга Д.Котрерова "PHP5 в подлиннике"(найдёте сами в поисковиках).
Ну а когда разберётесь в языке очень рекомендую скачать с сайта PHP справку по языку в формате chm, очень удобная штукенция я Вам скажу.
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 29.09.2006, 23:51

Отвечает: Бакулин Станислав Анатольевич
Здравствуйте, Taliya!

http://www.realcoding.net/downloads/view/1604
http://c-books.info/books/load.php?ty=php -тут несколько кинг по PHP
http://wmate.ru/ebooks/cat2/
http://sweb.ws/books/1.html
Ответ отправил: Бакулин Станислав Анатольевич (статус: 2-ой класс)
Ответ отправлен: 30.09.2006, 10:02

Отвечает: Бородин Александр Олегович
Здравствуйте, Taliya!
В любом приличном книжном магазине можно купить. Особенно, если Вы живете в более-менее крупном городе, типа Москвы. Рекомендую следующие книжки:
- "Разработка WEB-приложений с помощью PHP и MySQL", Люк Веллинг и др.
- "Самоучитель PHP", М. Кузнецов, И. Симдянов.
---------
Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Ответ отправил: Бородин Александр Олегович (статус: 1-ый класс)
Ответ отправлен: 01.10.2006, 11:06

Отвечает: Козлов А. С.
Здравствуйте, Taliya!
Порекомендую еще один сайт.

http:///www.natahaus.ru
---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 9-ый класс)
Ответ отправлен: 02.10.2006, 08:08


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

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

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

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

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

В избранное