在GET变量中嵌套两个或多个php脚本
我已经创建了一个小脚本minimal.php,它根据GET提供的图像返回一个缩略图 另一个脚本cover.php响应.mp3文件的封面图像 我在我的页面上都这样使用:在GET变量中嵌套两个或多个php脚本,php,html,Php,Html,我已经创建了一个小脚本minimal.php,它根据GET提供的图像返回一个缩略图 另一个脚本cover.php响应.mp3文件的封面图像 我在我的页面上都这样使用: <img src="miniature.php?maxWidth=300&img=img/image.jpg" /> <img src="cover.php?file=files/beat it.mp3" /> 两者都很有效 但我想从封面制作一个缩影,我可能需要这样的东西: <img s
<img src="miniature.php?maxWidth=300&img=img/image.jpg" />
<img src="cover.php?file=files/beat it.mp3" />
两者都很有效
但我想从封面制作一个缩影,我可能需要这样的东西:
<img src="miniature.php?maxWidth=300&img=cover.php?file=files/beat it.mp3" />
而且。。。这不起作用。在将封面图像发送到minimal之前,是否可以在不保存封面图像的情况下执行类似操作?如果在minimal.php中使用cover.php的完整编码url,则可以使用file_get_content(或类似函数)。结果url应类似于:
<img src="miniature.php?maxWidth=300&img=http%3A%2F%2Fwww.mywebsite.com%2Fcover.php%3Ffile%3Dfiles%252Fbeat%2520it.mp3" />
请注意,您需要对文件/beat it.mp3进行两次编码。最简单的方法不是编辑您的PHP脚本,并创建第三种类型来完成这两项工作吗?这取决于
minimal.PHP
的功能,并且您需要正确编码URI参数(``=>%20
,第二个?
=><3F
)马塞尔:好主意,但仍然不起作用。佩卡:你说得对,但我想知道这个东西是否可以这样工作…@manuAcl你是否对文件名进行了两次编码?!这非常重要。一次是单独进行的,一次是地址为cover.phpI的,然后又这样尝试:$img='minimal.php?maxSize=175&img='.urlencode('));给我这个url:minimal.php?maxSize=175&img=http%3A%2F%2Fmysite.com%2fcolver.php%3Ffile%3dfuploads%252F1.mp3它与“1.mp3”一起工作,但与“06 filename.mp3”不一起工作。我最后试过这样做,它工作得很好:如果(FALSE!=($cont=file\u get\u contents($url)){$finfo=new finfo(FILEINFO\u MIME);$MIME=substr($finfo缓冲区)($cont),0,strpos($finfo->buffer($cont),“;”);$imgBig=imagecreatefromstring($cont);$size=array('w'=>imagesx($imgBig),'h'=>imagesy($imgBig));[…]}
最后,我在我的微型脚本上添加了一个调用cover.php函数的函数,并使用imagecreatefromstring创建了图像:$fileTab=getCover($file);$newHeight=(isset($\u GET['maxSize'])和&$\u GET['maxSize']!=“”?$\u GET['maxSize]:175;$mime=$fileTab['mime'];$cont=$fileTab['data']$imgBig=imagecreatefromstring($cont);$size=array('w'=>imagesx($imgBig),'h'=>imagesy($imgBig));$ratio=$size['w']/$size['h'];$newSize=array('w'=>newHeight*$ratio,'h'=>newHeight);
getCover()返回数组('mime'=>mime't','data'=>dataimage'))