|
|
|
| Здравствуйте! С выводом картинки на экран разобрался! Спасибо всем, кто помогал... Но возникла другая проблема, вывод имени этой картинки без разширения.
Дело в том, что мне нужно вывести последний загруженный файл, т.к. прикаждой загрузке нового файла его имя записывается в конец файла 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");
...
?>
|
Выводится последний файл, но имя пишется с расширением, как от этой проблемы избавиться? Подскажите пожалуйста...
Спасибо... | |
|
|
|
|
|
|
|
для: EvgenLog
(20.10.2005 в 22:22)
| | В $img_number только имя файла или путь вместе с директориями? | |
|
|
|
|
|
|
|
для: cheops
(20.10.2005 в 22:41)
| | Там только имя файла... Спасибо, но я уже разобрался... Использовал функцию explode... | |
|
|
|
|
|
|
|
для: 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
(20.10.2005 в 23:44)
| | Запарился... С этими путями... | |
|
|
|
|
|
|
|
для: 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)."'>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(21.10.2005 в 13:25)
| | Всё равно не показывает... А как вообще можно ещё организовать работу с русскими именами? | |
|
|
|
|
|
|
|
для: 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'>";
?>
|
Этот скрипт фызывается при нажатие на ссылку "Просмотр" и выводит картинку при момощи передачи полученных данных (масштабирование, только другим файлом)... Всё хорошо, но при первом нажатие на ссылку "Просмотреть" открывается страница и на ней опять красный крестик, если же эту страницу обновить, то появляется изображение... В чём же дело?
Спасибо... | |
|
|
|
|
|
|
|
для: EvgenLog
(21.10.2005 в 22:14)
| | Посмотрите путь в свойствах изображения - он совпадает в обоих случаях? | |
|
|
|