- Автор темы
- #1
не хочет выводить правильный путь на картинку и не кэширует ее
кто знает в чем суть ?
вот три файла
index.php
img.php
.htaccess
кто знает в чем суть ?
вот три файла
index.php
PHP:
<?
$lines=glob("lines/*.gif");
$begs=glob("begs/*.gif");
?>
<?
if(isset($_GET['l'])):?>
вот url для линейки<br>
<?$d=mktime(0,0,0,$_GET['m'],$_GET['d'],$_GET['y'])?>
http://<?=$_SERVER['HTTP_HOST']?>/lin.ru/line_<?=$_GET['l']?>_beg_<?=$_GET['b']?>_time_<?=$d?>_text_<?=base64_encode($_GET['t'])?>.jpg
<br>
или BB код <br>
[url=http://<?=$_SERVER['HTTP_HOST']?>][img]http://<?=$_SERVER['HTTP_HOST']?>/lin.ru/line_<?=$_GET['l']?>_beg_<?=$_GET['b']?>_time_<?=$d?>_text_<?=base64_encode($_GET['t'])?>.jpg[/img][/url]
<?else:?>
<form method=get>
Линейка <br>
<?foreach($lines as $line):?>
<input name="l" type="radio" value="<?=basename($line)?>"> <img src="<?=$line?>" border=0><br>
<?endforeach?>
Бегунок <br>
<?foreach($begs as $beg):?>
<input name="b" type="radio" value="<?=basename($beg)?>"> <img src="<?=$beg?>" border=0><br>
<?endforeach?>
Текст<br>
<input name="t" type="text" value="" id=tx> <br>
Или выберите <select onchange="document.getElementById('tx').value=this.options[this.selectedIndex].value">
<?foreach(file('slova.txt') as $sl):?>
<option value="<?=$sl?>"><?=$sl?></option>
<?endforeach?>
</select><br>
Дата начала<br>
<SELECT NAME="d">
<OPTION SELECTED VALUE=1>1
<OPTION VALUE=2>2
<OPTION VALUE=3>3
<OPTION VALUE=4>4
<OPTION VALUE=5>5
<OPTION VALUE=6>6
<OPTION VALUE=7>7
<OPTION VALUE=8>8
<OPTION VALUE=9>9
<OPTION VALUE=10>10
<OPTION VALUE=11>11
<OPTION VALUE=12>12
<OPTION VALUE=13>13
<OPTION VALUE=14>14
<OPTION VALUE=15>15
<OPTION VALUE=16>16
<OPTION VALUE=17>17
<OPTION VALUE=18>18
<OPTION VALUE=19>19
<OPTION VALUE=20>20
<OPTION VALUE=21>21
<OPTION VALUE=22>22
<OPTION VALUE=23>23
<OPTION VALUE=24>24
<OPTION VALUE=25>25
<OPTION VALUE=26>26
<OPTION VALUE=27>27
<OPTION VALUE=28>28
<OPTION VALUE=29>29
<OPTION VALUE=30>30
<OPTION VALUE=31>31
</SELECT>
Месяц:<SELECT NAME="m">
<OPTION SELECTED VALUE=1>Январь
<OPTION VALUE=2>Февраль
<OPTION VALUE=3>Март
<OPTION VALUE=4>Апрель
<OPTION VALUE=5>Май
<OPTION VALUE=6>Июнь
<OPTION VALUE=7>Июль
<OPTION VALUE=8>Август
<OPTION VALUE=9>Сентябрь
<OPTION VALUE=10>Октябрь
<OPTION VALUE=11>Ноябрь
<OPTION VALUE=12>Декабрь
</SELECT>
Год:<INPUT TYPE="text" NAME="y" size=5 value="<?=date('Y')?>"><BR>
<input type="submit" value="Дальше">
</form>
<?endif?>
img.php
PHP:
<?
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i'); // преобразование win1251 -> iso8859-5
// преобразование iso8859-5 -> unicode:
for ($result='', $i=0; $i<strlen($s); $i++) {
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
header("Content-type: image/jpeg");
$line=imagecreatefromgif('lines/'.$_GET['l']);
$beg=imagecreatefromgif('begs/'.$_GET['b']);
$text=base64_decode($_GET['t']);
$line_sx=imagesx($line);
$line_sy=imagesy($line);
$beg_sx=imagesx($beg);
$beg_sy=imagesy($beg);
$out_h=($line_sy<$beg_sy)?$beg_sy:$line_sy;
$out=imagecreate($line_sx,$out_h+15);
imagecopy($out,$line,0,$out_h-$line_sy ,0,0,$line_sx,$line_sy);
$pixpm=$line_sx/12;
$std=$_GET['d'];
$ed=time();
$sid=3600*24;
$sim=3600*30*24;
$sty=mktime(0,0,0,0,0,date('Y',$std));
$offset=$ed-$std;
$days=intval($offset/86400);
$monsz=0;
while($days>30)
{
$monsz++;
$days=$days-30;
}
$beg_x=$monsz*$pixpm;
imagecopy($out,$beg,$beg_x,5,0,0,$beg_sx,$beg_sy);
if($beg_x<$line_sx)
imagefttext($out,10,0,10,$out_h+10,imagecolorallocate($out,0,0,0),'arial.ttf',
win2uni($text.' '.$monsz.' месяцев и '.$days.' дней'.' (c) Zumo' ));
else
imagefttext($out,10,0,10,$out_h+10,imagecolorallocate($out,0,0,0),'arial.ttf',
win2uni('нет лошадки'));
imagejpeg($out);
?>
.htaccess
PHP:
RewriteEngine on
RewriteBase /
RewriteRule ^line_([a-z_0-9\.\-]{3,40})_beg_([a-z_0-9\.\-]{3,40})_time_([0-9]{5,15})_text_(.*)\.jpg$ img.php?l=$1&b=$2&d=$3&t=$4 [R]