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

Форум PHP

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

 

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

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

тема: Проблема с отображением картинки из указанной директории

Сообщения:  [1-9] 

 
 автор: Полина   (05.12.2007 в 20:34)   письмо автору
 
   для: elenaki   (05.12.2007 в 20:26)
 

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

   
 
 автор: Полина   (05.12.2007 в 20:31)   письмо автору
 
   для: elenaki   (05.12.2007 в 20:26)
 

проверку на то чтобы файл был картинкой я убрала, чтобы сфокусировать на основной проблеме.
Файл small.php сжимает отображения. вот и он:
<?php
$wc=150;
$Oldimg=imagecreatefromjpeg($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);
imagecopyresampled($Newimg,$Oldimg,0,0,0,0,$w1,$h1,$w,$h);
imagejpeg($Newimg,"",100);
imgdestroy($Newimg);
imgdestroy($Oldimg);
?>

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

   
 
 автор: elenaki   (05.12.2007 в 20:26)   письмо автору
 
   для: Полина   (05.12.2007 в 20:20)
 

у вас нет проверки на файл. в папке могут присутствовать не только файлы, а файлы могут быть не только картинками. потом неизвестно, что делает small.php
а физический путь к папке нужен. если б он был указан явно, типа /hosts/users/mysite/... и т.п.,
его надо было бы менять при переносе скрипта на другой сервер, пототму что там конечно другой путь. а так - не надо.

   
 
 автор: Полина   (05.12.2007 в 20:22)   письмо автору
 
   для: elenaki   (05.12.2007 в 20:19)
 

ну т.е. если не переделывать под разные сайты это не нужно?

   
 
 автор: Полина   (05.12.2007 в 20:20)   письмо автору
 
   для: elenaki   (05.12.2007 в 19:57)
 

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

   
 
 автор: elenaki   (05.12.2007 в 20:19)   письмо автору
 
   для: Полина   (05.12.2007 в 20:16)
 

это физический путь к скрипту на сервере. чтоб не переделывать пути под разные сайты...

   
 
 автор: Полина   (05.12.2007 в 20:16)   письмо автору
 
   для: elenaki   (05.12.2007 в 19:57)
 

ну ладно.
а что такое realpath?

   
 
 автор: elenaki   (05.12.2007 в 19:57)   письмо автору
 
   для: Полина   (05.12.2007 в 19:43)
 

вот этот точно выводит. причем с пропорциональным ресайзом и установленным количеством столбцов:

<?
//echo realpath(".");
   // Some configuration variables !
   
$maxWidth 90;
   
$maxHeight 90;
   
$maxCols2 6;
   
$webDir "http://www.mysite.com/images/";
   
$localDir realpath(".")."/";
   
// build the www path: 
$me $_SERVER['PHP_SELF']; 
$Apathweb explode("/"$me); 
$myFileName array_pop($Apathweb); 
$pathweb implode("/"$Apathweb); 
$myURL "http://".$_SERVER['HTTP_HOST'].$pathweb."/".$myFileName
$PAGE_BASE['www'] = $myURL

// build the file path: 
strstrPHP_OS"WIN") ? $strPathSeparator "\\" $strPathSeparator "/"
$pathfile getcwd (); 
$PAGE_BASE['physical'] = $pathfile.$strPathSeparator.$myFileName

// this is so you can verify the results: 
$www $PAGE_BASE['www']; 
$physical $PAGE_BASE['physical']; 

//echo "$physical<p>"; 
//echo "$www<p>"; 

   
   
$AutorisedImageType = array ("jpg""jpeg""gif""png");
?>
   <?
   
// Open localDir
   
$dh opendir($localDir);
   while (
false !== ($filename readdir($dh))) {
       
$filesArray[] = $filename;
   }
   
// Display and resize
   
foreach ($filesArray as $images) {
   
       
$ext substr($imagesstrpos($images".")+1strlen($images));
    
       if( 
in_array($ext$AutorisedImageType) ) {

           list(
$width$height$type$attr) = @getimagesize$localDir.$images );

           
$xRatio $maxWidth $width
           
$yRatio $maxHeight $height;  
           
           if ( (
$width <= $maxWidth) && ($height <= $maxHeight) ) { 
             
$newWidth $width
             
$newHeight $height
           } 
           else if ((
$xRatio $height) < $maxHeight) { 
             
$newHeight ceil($xRatio $height); 
             
$newWidth $maxWidth
           } 
           else { 
             
$newWidth ceil($yRatio $width); 
             
$newHeight $maxHeight
           } 
           
           if(
$iii == $maxCols2) {
               echo 
"</tr><tr>";
               
$iii 0;
           }
?>
           <td align='center' valign='middle' width='<?=$maxWidth?>' height='<?=$maxHeight?>'>
           <a href="<?=$webDir?><?=$images?>"><img src='<?=$webDir?>s/<?=$images?>' width='<?=$newWidth?>' height='<?=$newHeight?>' border=0></a></td>
<?
           $iii
++;
       }
   }
?>

   
 
 автор: Полина   (05.12.2007 в 19:43)   письмо автору
 
 

Есть директория в которой находится следующий скрипт:

<?php
$dir = opendir("./dir");
while ($file = readdir ($dir))
{
echo "$file";
echo "<img src=\"small.php?file=$file\" border=0>";
echo "<img src=\"$file\">";
}
closedir($dir);
?>

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

   

Сообщения:  [1-9] 

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

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