我正在使用imagecreate
,这是我的代码:
<?php
$my_img = imagecreate( 200, 80 );
$background = imagecolorallocate( $my_img, 0, 0, 255 );
$text_colour = imagecolorallocate( $my_img, 255, 255, 0 );
$line_colour = imagecolorallocate( $my_img, 128, 255, 0 );
imagestring( $my_img, 4, 30, 25, "Santosh", $text_colour );
imagesetthickness ( $my_img, 5 );
imageline( $my_img, 30, 45, 165, 45, $line_colour );
header( "Content-type: image/png" );
imagepng( $my_img );
imagecolordeallocate( $line_color );
imagecolordeallocate( $text_color );
imagecolordeallocate( $background );
imagedestroy( $my_img );
?>
嗯,传递给imagecreate的维度是硬编码的,我不想这样做。我希望从URL中获取维度。我知道我可以使用我们称之为_GET
的东西来做到这一点。但这会使网址像:script.php?h=100&w=200
。但我想要的是:script.php/100/200
。
那么,如何从URL片段获取输入?
答案 0 :(得分:0)
您可以删除脚本名称并将其分解为参数,如下所示
$extra_path = str_replace($_SERVER['SCRIPT_NAME'],'',$_SERVER['REQUEST_URI']);
$parts = explode('/',$extra_path);
然后会给你
$parts = array(
'100',
'200'
);
答案 1 :(得分:0)
你可以用正则表达式拆分$_SERVER['REQUEST_URI']
或爆炸,函数parse_url()
在这里非常方便......
if(preg_match('%/(?P<width>\d+)/(?P<height>\d+)(/|\z)%', parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH),$dimensions))
{
var_dump($dimensions['width']);
var_dump($dimensions['height']);
}
答案 2 :(得分:0)
使用$_SERVER['PATH_INFO']
,如下所述
http://php.net/manual/en/reserved.variables.server.php