[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: фотогалерея
mihai
Здравствуйте господа Программисты.

пишу скрипт фотогалерие.
есть скрипт создания маленькой копии каритнки

minikartinki.php

и усрипт вывода картинок

kartinkiobych.php


НО

не работает а выдаёт

Warning: Division by zero in Z:\home\localhost\www\foto2\minikartinki.php on line 7

как я понимаю не срабатывают функии

resizeimg()
getimagesize()

и не создаютя миникопии
помогите разобраться

minikartinki.php


function resizeimg($f,$min,$w,$h)
{
$koaf=$w/$h;
$razmer=getimagesize($f);

$src_koaf=$rasmer[0]/$rasmer[1];
if(($rasmer[0]<$w)&&($rasmer[1]<$h)) return true;
if($koaf<$src_koaf)$h=$w/$src_koaf;
else $w=$h*$src_koaf;
$pust=imagecreatetruecolor($w,$h);
if($rasmer[2]==2) $img=imagecreatefromjpeg($f);
else if($rasmer[2]==1) $img=imagecreatefromgif($f);
else if($rasmer[2]==3) $img=imagecreatefrompng($f);


if(!imagecopyresampled($pust,$img,0,0,0,0,$w,$h,$rasmer[0],$rasmer[1]))
return false;
$pats=pathinfo($min);
if(($path["extension"]=="jpg")||($path["extension"]=="JPG")) imagejpeg($pust,$min);
else if(($path["extension"]=="gif")||($path["extension"]=="GIF")) imagegif($pust,$min);
else if(($path["extension"]=="png")||($path["extension"]=="PNG")) imagepng($pust,$min);

imagedestroy($pust);
imagedestroy($img);

return true;
}


kartinkiobych.php

<html><body>
<?php
echo "<tble align=center border=1<tr>";
$z=0;
$kart=opendir("./foto");
$foto="foto.txt";
include"minikartinki.php";
include"func.php";
$mass=read($foto);
while(($file=readdir($kart)) !=false)
{
if($file !="." && $file !=".." && $file !="Thumbs.db")
{
if($mass[$z][0]==$file) $zap=$mass[$z][1];
if(!file_exists("./fotomini/$file"))
{
resizeimg("foto/$file","fotomin/$file",130,100);
}
$size_r=getimagesize("foto/$file");
print_r ("<td align='center'><a href='foto/$file' target='_blank'>
<img src='fotomini/
$file' border='1' alt=$file></a><br>
<I>
$file<br>$size_r[0]x$size_r[1]<br>$zap</I></td>");


$zap="";
$z++;
if(($z/4)==is_integer($z/4)) echo"</tr><tr>";
}
}

closedir($kart);
?>

</body></html>





Спустя 23 минуты, 47 секунд (12.11.2009 - 20:28) Romms написал(а):
судя по ошибке у Вас гдето деления на 0(как всем известно на нуль делить нельзя)
Показжыте нам содержания рядка 7 в файле Z:\home\localhost\www\foto2\minikartinki.php(в этом ряде и есть ошибка wink.gif)

Спустя 9 минут, 36 секунд (12.11.2009 - 20:38) mihai написал(а):
содержимое рядка7 из файла minikartinki.php

ПЕРЕД ВАМИ

Спустя 28 минут, 37 секунд (12.11.2009 - 21:06) Grazor написал(а):
mihai
если это весь код, то тут ноль $rasmer[1]

проверьте, существует ли файл "foto/$file", возможно ошибка в адресе. или высота картинки действительно 0 dry.gif

Спустя 13 часов, 33 минуты, 26 секунд (13.11.2009 - 10:40) mihai написал(а):
такой файл "foto/$file", конечно же существует
и картинка по высоте конечно же не 0

может быть вот тут что то не работает

(($file=readdir($kart))

Спустя 20 минут, 59 секунд (13.11.2009 - 11:01) twin написал(а):
Неравенства строгие надо ставить.
А вообще тебя подводит транслит. Посмотри внимательно:
$razmer=getimagesize($f);
$src_koaf=$rasmer[0]/$rasmer[1];

Размер по английски size - никаких ошибок.

Спустя 1 час, 6 минут, 13 секунд (13.11.2009 - 12:07) Grazor написал(а):
twin
laugh.gif точно!

Спустя 6 часов, 1 минута, 42 секунды (13.11.2009 - 18:09) mihai написал(а):
twin
Grazor

Транслитера́ция — передача одной письменности средствами другой письменности.
sad.gif
ребят я ничего не понял
если можно пальцем пакажите

Спустя 9 минут, 41 секунда (13.11.2009 - 18:18) Krevedko написал(а):
razmer и rasmer
найди 5 отличий biggrin.gif

Спустя 17 минут, 35 секунд (13.11.2009 - 18:36) Gabriel написал(а):
Krevedko
не задавай невыполнимых задач

Спустя 17 часов, 48 минут, 5 секунд (14.11.2009 - 12:24) twin написал(а):
Цитата
Транслитера́ция — передача одной письменности средствами другой письменности.

ребят я ничего не понял
если можно пальцем пакажите

Транслитерация, это замена символов одного алфавита символами другого. То есть ты пишешь razmer и читаешь по русски - размер. А потом пишешь rasmer и так же точно читаешь по русски. Потому что фонемы созвучны.
А вот если бы ты не пользовался транслитом, а писал настоящий перевод, то не ошибся бы. Потому что размер по английски size и переменная так и была бы $size

Спустя 2 часа, 8 минут, 44 секунды (14.11.2009 - 14:33) mihai написал(а):
большое спасибо
да это моя не внимательность


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

исправил переменную
но
всё равно не работает

-картинки закачиваются в папку foto и при нажатии
на маленькую картинку большая картинка показывается

-а вот маленькие картнки в папке fotomin не создаются

user posted image

Спустя 1 час, 1 минута, 52 секунды (14.11.2009 - 15:34) twin написал(а):
Позволь полюбопытствовать, что это за книжка? Мой тебе совет - используй её по прямому назначению, а именно как туалетную бумагу. Если для переменных используется транслит, это говорит о очень низком уровне автора.

Неравенства исправил?

Спустя 1 час, 57 минут, 47 секунд (14.11.2009 - 17:32) mihai написал(а):
twin
какое неравенство
покажи

Спустя 14 минут, 32 секунды (14.11.2009 - 17:47) twin написал(а):
while(($file=readdir($kart)) !== false)

Спустя 25 минут, 42 секунды (14.11.2009 - 18:13) mihai написал(а):
twin
исправил
не фига
миникартинки не создаются

Спустя 55 минут, 20 секунд (14.11.2009 - 19:08) twin написал(а):
Разумеется. Просто если бы я тебе сразу показал ошибку, ты бы эту не исправил. Ищи различия опять в путях:
          if(!file_exists("./fotomini/$file"))
{
resizeimg("foto/$file","fotomin/$file",130,100);

Спустя 24 минуты, 34 секунды (14.11.2009 - 19:32) mihai написал(а):
ты имеешь ввиду
вот так то тоже не рабает


if(!file_exists("fotomini/$file"))
{
resizeimg("foto/$file","fotomin/$file",130,100);

Спустя 2 минуты, 41 секунда (14.11.2009 - 19:35) mihai написал(а):
при нажатии на маленьку картинку
большие то показываются нормально
а вот маленькие почемуто не создаются

Спустя 37 минут, 21 секунда (14.11.2009 - 20:12) twin написал(а):
Да ёшкин кот... Где welbox2, когда надо пальцем натыкать, его нет. biggrin.gif

if(!file_exists("fotomini/$file"))
{
resizeimg("foto/$file","fotomin/$file",130,100);

Спустя 49 минут (14.11.2009 - 21:01) mihai написал(а):
нифига не получается
twin
прошу тебя ПОСМОТРИ

файл скрипта

Спустя 32 минуты, 57 секунд (14.11.2009 - 21:34) twin написал(а):
не открывается

Спустя 5 минут, 33 секунды (14.11.2009 - 21:40) Krevedko написал(а):
if(!file_exists("fotomini/$file"))
{
resizeimg("foto/$file","fotomini/$file",130,100);

Спустя 2 часа, 6 минут, 47 секунд (14.11.2009 - 23:47) mihai написал(а):
Krevedko
спасибо
опять моя невнимательность
НО
так то же нифига не работает

Спустя 5 часов, 47 минут, 58 секунд (15.11.2009 - 05:35) twin написал(а):
Открыть архив так и не смог. Вот поправил, что увидел. Не проверял правда.
Свернутый текст
   function resizeimg($f, $min, $w, $h)
{
$ratio = $w / $h;
$size = getimagesize($f);
$src_ratio = $size[0] / $size[1];

if($size[0] < $w && $size[1] < $h)
return true;

if($ratio < $src_ratio)
$h = $w / $src_ratio;
else
$w = $h * $src_ratio;

$dest = imagecreatetruecolor($w, $h);

if($size[2] == 2)
$img = imagecreatefromjpeg($f);
elseif($size[2] == 1)
$img = imagecreatefromgif($f);
elseif($size[2] == 3)
$img = imagecreatefrompng($f);

if(!imagecopyresampled($dest, $img, 0, 0, 0, 0, $w, $h, $size[0], $size[1]))
return false;

$path = pathinfo($min);

if($path['extension'] == 'jpg' || $path['extension'] == 'JPG')
imagejpeg($dest, $min);
elseif($path['extension'] == 'gif' || $path['extension'] == 'GIF')
imagegif($dest, $min);
elseif($path['extension'] == 'png' || $path['extension'] == 'PNG')
imagepng($dest, $min);

imagedestroy($img);
imagedestroy($dest);
return true;
}


Свернутый текст
<html><body>
<?php

echo '<tble align=center border=1<tr>';
$z = 0;
$kart = opendir('./foto');
$foto = './foto.txt';
include './minikartinki.php';
include './func.php';
$mass = read($foto);

while(($file = readdir($kart)) !== false)
{

if($file !== '.' && $file !== '..' && $file !== 'Thumbs.db')
{

if($mass[$z][0] == $file)
$zap = $mass[$z][1];

if(!file_exists('./fotomini/'. $file))
{
resizeimg('./foto/'. $file, './fotomini/'. $file, 130, 100);
}

$size_r = getimagesize('./foto/'. $file);

print_r ('<td align="center">
<a href="foto/'
. $file .'" target="_blank">
<img src="fotomini/'
. $file .'" border="1" alt="'. $file .'"></a>
<br><I>'
. $file .'<br>'. $size_r[0] .'x'. $size_r[1] .'<br>'. $zap .'</I></td>');
$zap = '';
$z++;

if(($z % 4) == 0) echo '</tr><tr>';
}
}

closedir($kart);
?>

</body></html>

Спустя 7 часов, 5 минут, 28 секунд (15.11.2009 - 12:40) mihai написал(а):
twin
спасибо заработало
щас буду разбираться

вот только вопрос
ты вот тут с кавычками ни чего не напутал


print_r ('<td align="center">
<a href="foto/'
. $file .'" target="_blank">
<img src="fotomini/'
. $file .'" border="1" alt="'. $file .'"></a>
<br>
<I>'
. $file .'<br>'. $size_r[0] .'x'. $size_r[1] .'<br>'. $zap .'</I></td>');


хотя блин работает,
не пойму как

Спустя 5 минут, 10 секунд (15.11.2009 - 12:45) twin написал(а):
С кавычками напутал ты, а я исправил. smile.gif Говорю же - выкинь эту книжку, купи более другую.
В html валидно писать двойные кавычки, в php строка в апострофах обрабатывается быстрее. Конкатенация делает код более читабельным и управляемым. Так что.

Спустя 8 минут, 6 секунд (15.11.2009 - 12:53) mihai написал(а):
не понимаю
я всегда думал что
интерпритатор читает вот так

echo "";

или

echo " sss 'ddd' rrr";

ну или вот так

echo " sss \"ddd\" rrr"

а у тебя

'"c"foto/'. $file .'" target="_blank"><img src="fotomini/'. $file .'" border="1" alt="'. $file .'"

Спустя 26 минут, 33 секунды (15.11.2009 - 13:20) twin написал(а):
Интерпретатор читает одно кавычки внутри других, как символ. Вот проверь:
<pre>
<?php
echo '"';
echo "'";
echo '\'';
echo "\"";
?>
</pre>

Спустя 14 минут, 9 секунд (15.11.2009 - 13:34) mihai написал(а):
ну вот это понятно


<a href="foto/'. $file .'"


а вот это как понять


print_r ('<td align="center">

/*бла бла бла*/
<br><I>'
. $file .'<br>'. $size_r[0] .'x'. $size_r[1] .'<br>'. $zap .'</I></td>');


одинарная кавычка открылась,
одинарная кавычка закрылась
<br><I>'
и как дальше
. $file . уже не читается

Спустя 52 минуты, 46 секунд (15.11.2009 - 14:27) twin написал(а):
понял ничего там я тут потому что.
Можно как то яснее вопросы формулировать?

Спустя 10 минут, 25 секунд (15.11.2009 - 14:37) Krevedko написал(а):
[QUOTE=mihai,15.11.2009 - 10:34] ну вот это понятно

<a href="foto/'. $file .'"

это как раз-таки непонятно. там не так написано а вот так

(кавычка открывается)'<td align="center">			
<a href="foto/'
(кавчка закрывается, идет пых-переменная). $file .(кавычка открывается)'"
....тут идет еще хтмл и закрывается одинарная кавычка обязательно '



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

Спустя 25 минут, 15 секунд (15.11.2009 - 15:03) mihai написал(а):
ну правильно



echo "(ковычка открывается) идёт код (ковычка закрывается)"
тут идёт какой то код, а потом опять
'(ковычка открывется) идёт код (ковычка закрывается)';




разве так можно,
как это работает?

Спустя 9 минут, 33 секунды (15.11.2009 - 15:12) Krevedko написал(а):
будет работать..только так

echo "(ковычка открывается) идёт код (ковычка закрывается)"
.тут идёт какой то код, а потом опять.
'(ковычка открывется) идёт код (ковычка закрывается)';


ну и разные виды кавычек наверное не стоит использовать )

Спустя 28 минут, 50 секунд (15.11.2009 - 15:41) mihai написал(а):
аааааааааааа
блин так дело в пристыковке при помощи точки,
ПОНЯЛ biggrin.gif

Спустя 5 дней, 1 час, 23 минуты (20.11.2009 - 17:04) mihai написал(а):
и ещё

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

extension=php_cpdf.dll
php_mbstring.dll
extension=php_gb2.dll
php_exif.dll</span>

НО
в файле конфигураций я не нашёл
такую строку

extension=php_cpdf.dll</span>


что подскажите
нужна она или нет

Спустя 1 год, 7 месяцев, 6 дней, 1 час, 28 минут, 44 секунды (26.06.2011 - 17:33) Гость_ZERO написал(а):
ph34r.gif [color=crimson][/color][size=6][/size]

Спустя 6 минут, 55 секунд (26.06.2011 - 17:40) XCross написал(а):
Пришел, насрал, ушел dry.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.