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

Форум PHP

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

 

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

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

тема: Вывод имени файла без разширения...
 
 автор: EvgenLog   (20.10.2005 в 22:22)   письмо автору
 
 

Здравствуйте! С выводом картинки на экран разобрался! Спасибо всем, кто помогал... Но возникла другая проблема, вывод имени этой картинки без разширения.
Дело в том, что мне нужно вывести последний загруженный файл, т.к. прикаждой загрузке нового файла его имя записывается в конец файла config.ini, то мне нужно вывести именно это имя и следовательно сам файл с жтим именем. Я организовал это при помощи следующего...

<?
...
         
$open_main_img_folder opendir($main_img_folder);
         
$filename "$main_img_folder/config.ini";
         
$img=file($filename);
         
$img_number=end($img);
         
$name basename($img_number,".jpg");
...
?>

Выводится последний файл, но имя пишется с расширением, как от этой проблемы избавиться? Подскажите пожалуйста...
Спасибо...

   
 
 автор: cheops   (20.10.2005 в 22:41)   письмо автору
 
   для: EvgenLog   (20.10.2005 в 22:22)
 

В $img_number только имя файла или путь вместе с директориями?

   
 
 автор: EvgenLog   (20.10.2005 в 23:18)   письмо автору
 
   для: cheops   (20.10.2005 в 22:41)
 

Там только имя файла... Спасибо, но я уже разобрался... Использовал функцию explode...

   
 
 автор: EvgenLog   (20.10.2005 в 23:44)   письмо автору
 
   для: EvgenLog   (20.10.2005 в 23:18)
 

Да что же ты будешь делать!!!??? Не одно дак другое!
Короче, постольку поскольку Apache с русскими именами не работает, то для того, чтобы вывести файл в реальном размере я решил заколировать его имя, передать в лругой скрипт, а затем, снова раскодировать и полученное оригенальное имя подставить в путь...
Вобщем вот что получается...

<?
...
$name_encode=base64_encode($name);
...
echo 
"<a href='$main_url/$main_files_dir/view_img.php?name=$name_encode>Просмотр</a>";
?>

/home/NewServer.ru/www/file.php - он лежит тут...
В нем кодируется имя файла и при нажатие на ссылку передаётся сюда...

<?
$main_img_folder 
"./Gallery/Patch";
$img_name=$_GET['name'];
$img_decode=base64_decode($img_name);
$source=$main_img_folder."/".$img_decode;
echo 
"<img src='$source' border='0' alt='$img_decode'>";
?>

/home/NewServer.ru/www/Files/file_1.php - он лежит тут...
Должен выводится рисунок в его нормальном размере... Выводится красный крестик...
/home/NewServer.ru/www/Files/Gallery/Patch/ - тут лежат рисунки...

В свойвствах файла пишется вот это...
Адрес (URL): http://www.newserver.ru/Files/Gallery/Patch/Картинка.jpg
Всё правильно... Она там и лежит, но не выводится...

В чём дело? Я уже замучился с этой проблемой! На Linux такого никогда не было! Подскажите пожалуйста, кто может...
Спасибо...

   
 
 автор: EvgenLog   (21.10.2005 в 09:49)   письмо автору
 
   для: EvgenLog   (20.10.2005 в 23:44)
 

Запарился... С этими путями...

   
 
 автор: cheops   (21.10.2005 в 13:25)   письмо автору
 
   для: EvgenLog   (20.10.2005 в 23:44)
 

Вообще для кодирования URL используется традиционно urlencode() а для декодирования urldecode(), вместо base64_encode()...

В строке
<?php
echo "<img src='$source' border='0' alt='$img_decode'>";
?>

русские имена тоже недопустимы, лучше закодируйте имя urlencode() и используйте его везде
<?php 
... 
$name_encode=urlencode($name); 
... 
echo 
"<a href='$main_url/$main_files_dir/view_img.php?name=$name_encode>Просмотр</a>"
?>

а затем
<?php
$main_img_folder 
"./Gallery/Patch"
$img_name=$_GET['name']; 
$source=$main_img_folder."/".$img_name
echo 
"<img src='$source' border='0' alt='".urldecode($img_name)."'>"
?>

   
 
 автор: EvgenLog   (21.10.2005 в 21:36)   письмо автору
 
   для: cheops   (21.10.2005 в 13:25)
 

Всё равно не показывает... А как вообще можно ещё организовать работу с русскими именами?

   
 
 автор: EvgenLog   (21.10.2005 в 22:14)   письмо автору
 
   для: EvgenLog   (21.10.2005 в 21:36)
 

Вобщем ладно с выводом русских имён вопрос закрыт... Разобрался... Вот что я написал...

<?
$source
=$_GET['file'];
$patch=explode("/"$source);
echo 
"<img src='img_zoom.php?file=./Gallery/$patch[3]/$patch[4]' border='0'>";
?>

Этот скрипт фызывается при нажатие на ссылку "Просмотр" и выводит картинку при момощи передачи полученных данных (масштабирование, только другим файлом)... Всё хорошо, но при первом нажатие на ссылку "Просмотреть" открывается страница и на ней опять красный крестик, если же эту страницу обновить, то появляется изображение... В чём же дело?
Спасибо...

   
 
 автор: cheops   (22.10.2005 в 00:59)   письмо автору
 
   для: EvgenLog   (21.10.2005 в 22:14)
 

Посмотрите путь в свойствах изображения - он совпадает в обоих случаях?

   
Rambler's Top100
вверх

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