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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: пробел заменяется на %. Что Делать?

Сообщения:  [1-10]    [11-20]   [21-30]  [31-33] 

 
 автор: Полина   (12.12.2007 в 14:05)   письмо автору
 
   для: KPETuH   (12.12.2007 в 13:05)
 

У меня работает!!!!
Молодой человек, Вы даже не представляете как я вам благодарна. Спасибо Вам большое.

   
 
 автор: Полина   (12.12.2007 в 13:45)   письмо автору
 
   для: KPETuH   (12.12.2007 в 13:05)
 

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

   
 
 автор: KPETuH   (12.12.2007 в 13:05)   письмо автору
 
   для: Полина   (12.12.2007 в 10:08)
 

скажите а small.php должен сжимать сам файл или выводить уменьшенное превью?

для 2:
<?php
$cat
='image';
$dir_img opendir("./$cat");
while(
$img readdir($dir_img))
{
if(
$img!="." && $img!=".." && $img!="dir.txt")
{
    echo 
$path=$cat."/".$img;
    
$imgsize=getimagesize($path);
    echo 
"<img src=\"small.php?file=$path\" border=0><br>"
    echo 
"$imgsize[0]*$imgsize[1]<br>";
}
}
closedir($dir_img);
?>


и small.php

<?php
$wc
=150;
$Oldimg=imagecreatefromjpeg($_GET['file']);
$w=imagesx($Oldimg);
$h=imagesy($Oldimg);
header("Content-type: image/jpeg");
$ratio=$w/$wc;
$w1=$w/$ratio;;
$h1=$h/$ratio;
$Newimg=imagecreatetruecolor($w1,$h1);
imagecopyresized($Newimg,$Oldimg,0,0,0,0,$w1,$h1,$w,$h);
imagejpeg($Newimg);
imagedestroy($Newimg);
imagedestroy($Oldimg);
?>


скрипты лежат в корне а картинки в папке название которой определяется переменной $cat

   
 
 автор: Полина   (12.12.2007 в 10:08)   письмо автору
 
   для: KPETuH   (12.12.2007 в 08:05)
 

ну вообщем нет, не заработало. а он понимает, что такое img?. Файл small.php я привела полностью. Там нет img, толлко переменная $img. Может быть нужно както передавать туда? Например GETом. Только не соображу как это сделать.

   
 
 автор: KPETuH   (12.12.2007 в 08:05)   письмо автору
 
   для: Полина   (11.12.2007 в 20:27)
 

> $Oldimg=imagecreatefromjpeg($img);

Помоему проблема в это строке, передавайте туда имя файла вместе с именем папки в каторой он находится....


<?
$Oldimag
==imagecreatefromjpeg("./".$cat."/".$img);


за код не ручаюсь так как не вдавался в подробности вашего скрипта, но суда по симптомам описанными вами проблема в этом...

   
 
 автор: Полина   (12.12.2007 в 07:47)   письмо автору
 
   для: Trianon   (11.12.2007 в 20:29)
 

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

   
 
 автор: Trianon   (11.12.2007 в 20:29)   письмо автору
 
   для: Полина   (11.12.2007 в 20:27)
 


"  ... <img src=\"small.php?img=".urlencode($img)."\" border=0 > ... "

   
 
 автор: Полина   (11.12.2007 в 20:27)   письмо автору
 
   для: steiger   (11.12.2007 в 09:50)
 

я уже поняла, что из-за русских названий не работало.
Если вам не сложно покажите пример пожалуйста.
И у меня возникает еще одна проблема. Все картинки которые я читаю из созданной пользователем папки должны перед выводом быть обработаны файлом, который их будет сжимать. Но он находиться в основном каталоге, а не в этой папке и картинок не распознает.
Т.е. вот:
{
chdir("./$cat");
$dir_img = opendir(".");
while($img = readdir($dir_img))
{
if($img!="." && $img!=".." && $img!="dir.txt")
{
echo "$img<br>";
$imgsize=getimagesize($img);
include "small.php";
echo "<img src=\"". urlencode($cat)."/".urlencode($img)."\" border=0>";
echo "$imgsize[0]*$imgsize[1]<br>";
}
}
closedir($dir_img);
}

где small.php

$wc=150;
$Oldimg=imagecreatefromjpeg($img);
$w=imagesx($Oldimg);
$h=imagesy($Oldimg);
header("Content-type: image/jpeg");
$ratio=$w/$wc;
$w1=$w/$ratio;;
$h1=$h/$ratio;
$Newimg=imagecreatetruecolor($w1,$h1);
imagecopyresampled($Newimg,$Oldimg,0,0,0,0,$w1,$h1,$w,$h);
imagejpeg($Newimg,"",100);
imgdestroy($Newimg);
imgdestroy($Oldimg);

Если писать код где выбираем не каталог $cat а основную директорию. он у меня работает
а так почему то нет.
я не понимаю как к нему путь написать.
я include сначала заменяла строчкой
echo "<a href=\"". urlencode($cat)."/".urlencode($img)."\" target=_blank><img src="\small.php?img=$img\" border=0><br></a>";
но ничего нет. ссылки работают,а картинки не тоображаются.
я думаю что эта строчка правильней , чем инклюд.

   
 
 автор: steiger   (11.12.2007 в 09:50)   письмо автору
 
   для: Полина   (10.12.2007 в 23:05)
 

Название важно. Интересно, где Вы видели в адресной строке русские символы... И пробелы.
Пользователь может вводить имя создаваемой директории русскими буквами. А в скрипте лучше сделать перекодировку русских символов в латиницу. Думается, никакой разницы, будет называться папка "мои_фото" или "moi_foto". Если интересует, могу привести здесь пример простенькой функции транслитерования.
Избавьтесь Вы от кириллицы - проще будет.

   
 
 автор: exp   (11.12.2007 в 00:02)   письмо автору
 
   для: Полина   (10.12.2007 в 23:05)
 

как вариант сделать такие имена папок
http://site.ru/imgs/%CD%E0+%EF%F3%F2%E8/kartinka.jpg
всмысле такой будет путь фактически , а для читаемости декодировать при выводе в браузере.
windows так и делает мне кажется, только когда в адресной строке пробелы их браузер преобразует в %20 , а не в +
такое сделает rawurlencode();

всмысле корректнее будет имя папки %CD%E0%20%EF%F3%F2%E8 , и можно будет попробовать в адресной строке набрать просто http://site.ru/imgs/На пути/kartinka.jpg


// хотя нет :)

русские буквы так и остались в адресной строке :))

   

Сообщения:  [1-10]    [11-20]   [21-30]  [31-33] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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