Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скачивание файла с именем на русском языке
 
 автор: killah   (25.08.2006 в 10:52)   письмо автору
 
 

Вот скрипт:
<?php
$dir = opendir("table");

while ($file=readdir($dir))
{
if($file !='.'&&$file !='..')
{
?>
<a href= table\<? echo $file ?>> <? echo $file ?> </a>
<?
echo "<br>";
}
}
closedir($dir);
?>

Он должен качать экселевские файлы, и он их качает, если файл имеет название на английском языке.
Подскажите пожалуйста, как сделать так, что бы можно было скачивать файлы, имеющие имя и на русском языке.

   
 
 автор: cheops   (25.08.2006 в 12:43)   письмо автору
 
   для: killah   (25.08.2006 в 10:52)
 

Хм... скрипт просто выводит имена файлов, под закачиваением что здесь имеется ввиду? Загрузка файлов клиентами с сайта?

   
 
 автор: killah   (25.08.2006 в 13:55)   письмо автору
 
   для: cheops   (25.08.2006 в 12:43)
 

Да. В папке лежат экселевские файлы, на них выводится ссылка и пользователь должен загрузить их себе на компьютер. При названии файла на английском - все ОК, предлагает
открыть/сохранить, а при названии на русском - просто выводит ошибку 404.
Помогите пожалуйста, срочно нужно!

   
 
 автор: killah   (25.08.2006 в 17:04)   письмо автору
 
   для: killah   (25.08.2006 в 13:55)
 

Ну подскажите пожалуйста!

   
 
 автор: killah   (25.08.2006 в 21:54)   письмо автору
 
   для: killah   (25.08.2006 в 17:04)
 

Может я вообще неправильно придумал? Может, можно сделать как-то по-другому?

   
 
 автор: Киналь   (25.08.2006 в 22:05)   письмо автору
 
   для: killah   (25.08.2006 в 21:54)
 

Попробуйте $file пропустить через urlencode().

   
 
 автор: cheops   (26.08.2006 в 02:23)   письмо автору
 
   для: killah   (25.08.2006 в 13:55)
 

Русские символы не допускаются в качестве элементов URL - нужно кодировать их при помощи функции urlencode()
<?php
$dir 
opendir("table");

while (
$file=readdir($dir))
{
if(
$file !='.'&&$file !='..')
{
?>
<a href= table\<? echo urlencode($file?><? echo $file ?> </a>
<?
echo "<br>";
}
}
closedir($dir);
?>

Но будут ли они подцепляться - зависит от настроек Web-сервера Apache.

   
 
 автор: Jaroslav   (25.08.2006 в 23:50)   письмо автору
 
   для: killah   (25.08.2006 в 10:52)
 

У меня аналогичная ситуация. Загружаются файлы на сервер, но если имена на русском, то их фиг скачаешь. Наверное, единственный вариант – это заранее проверять имя файла и если оно на русском, то сразу переделывать на английский.

   
 
 автор: killah   (26.08.2006 в 14:16)   письмо автору
 
   для: Jaroslav   (25.08.2006 в 23:50)
 

Спасибо, этот скрипт работает! Но у меня теперь еще вопрос:
когда я пытаюсь подключить его к другому файлу (require ('script.php')), выводится сообщение, что путь введен неверно, хотя файл к которому я подключаю этот скрипт, находится в той же директории, что и сам скрипт.

   
 
 автор: killah   (26.08.2006 в 18:12)   письмо автору
 
   для: killah   (26.08.2006 в 14:16)
 

Ответьте пожалуйста!

   
 
 автор: killah   (26.08.2006 в 21:35)   письмо автору
 
   для: killah   (26.08.2006 в 18:12)
 

Я вообще почему такие вопросы задаю... Изучаю я РНР уже где-то полгода, ну и решил
получить так сказать "практические знания". Пошел на фирму, показал свои проекты, все ОК, взяли.
Ну и директор дает задание: сделай фотогаллерею за 3 дня. Мне 3 дня мало, что бы свою писать, ну я и взял вашу smzgalleryfast. Переделал ее, там дизайн их прикрутил. Еще она тем отличается, что там не одна страница, а как бы каждая галлерея содержит вложенную, т.е. файл index я несколько раз переписывал под каждую подгаллерею. А теперь справа надо прицепить блок вывода новостей. Ну сделал его в таблице, как в приведенном выше скрипте. Отдельно блок новостей работает, и когда я его включаю в скрипт вывода, там ошибки, типа неправильно прописан путь к файлу.
Т.е. пока у меня не все получается. Как мне вести себя с директором? Могу я оговаривать свои сроки сдачи скрипта?
И вообще посоветуйте, что мне делать. С одной стороны, очень хочется участвовать в реальных проектах, что бы были практические знания. С другой стороны, т.к. опыта маловато, могу и не вписываться в заданные сроки, или сделать что-то не так.

   
 
 автор: cheops   (26.08.2006 в 23:15)   письмо автору
 
   для: killah   (26.08.2006 в 21:35)
 

>Т.е. пока у меня не все получается. Как мне вести себя с директором?
Можете, но бесконечно мягко... поймите директора, у него нет времени растить супер-программиста, который правой рукой будет писать ему код, а левой книги... он за те деньги, что вам платить будет вас выжимать, либо когда выгода вашей деятельности станет для него очевидна, либо когда вам надоест, либо когда ему надоест. Вам тут нужно просто за чужие деньги извлечь для себя максимуму прибыли, чтобы вы потом себе и другим могли принести пользу, в том числе и фирме на которую работаете.
Перед директором не заискивайтесь, а просто честно скажите, что у вас такие-то и такие-то трудности, на которые требуется время, но вы с ними обязательно справитесь к такому-то сроку, мне бы такой подход сотрудника понравился.

PS Вам каталог нужен бесконечно вложенный...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования