Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php下载一幅多幅图像_Php_Html_Image_Download_File Get Contents - Fatal编程技术网

使用php下载一幅多幅图像

使用php下载一幅多幅图像,php,html,image,download,file-get-contents,Php,Html,Image,Download,File Get Contents,我有一个从网站获取图像的页面,但为了让它稍微快一点,而不是找到图像的URL,我修改了它们缩略图的URL。它工作得相当好,但我必须检查每个图像的扩展。我通过使用具有相同URL但不同扩展名的回退来解决大部分问题,但现在的问题是,我想添加一个下载按钮,但我找不到一种方法来让哪个扩展名起作用,并且对所有扩展名进行下载也不起作用 我怎样才能解决这个问题 相关代码: 主要PHP: $imgsize = array(); $p =

我有一个从网站获取图像的页面,但为了让它稍微快一点,而不是找到图像的URL,我修改了它们缩略图的URL。它工作得相当好,但我必须检查每个图像的扩展。我通过使用具有相同URL但不同扩展名的回退来解决大部分问题,但现在的问题是,我想添加一个下载按钮,但我找不到一种方法来让哪个扩展名起作用,并且对所有扩展名进行下载也不起作用

我怎样才能解决这个问题

相关代码:

主要PHP:

                    $imgsize = array();
                    $p = "";

                    if(getimagesize($val."jpg") === false)
                    {
                        if(getimagesize($val."png") === false)
                        {
                            try{$imgsize = (getimagesize($val."gif"));}catch(Exception $e){  }
                            $p = "gif";
                        }
                        else
                        {
                            try{$imgsize = (getimagesize($val."png"));}catch(Exception $e){  }
                            $p = "png";
                        }
                    }else
                    {
                        try{$imgsize = (getimagesize($val."jpg"));}catch(Exception $e){  }
                        $p = "jpg";
                    }


                    print('<tr><td><a href="http://www.e621.net'.$val2.'"><object style="width:'.$imgsize[1].'; height="'.$imgsize[2].';"" id="pic" data="'.$val.'jpg" type="image/png">
                                <object style="width:'.$imgsize[1].'; height="'.$imgsize[2].';" id="pic" data="'.$val.'png" type="image/png">
                                    <img style="width:'.$imgsize[1].'; height="'.$imgsize[2].';" id="pic" src="'.$val.'gif" />
                                </object>
                           </object></form></a><form method="POST" action="./download.php/?id='.$val.'"><input type="submit" id="'.$val.$p.'" value="Download" /></td></tr>');
$imgsize=array();
$p=“”;
if(getimagesize($val.“jpg”)==false)
{
if(getimagesize($val.“png”)==false)
{
尝试{$imgsize=(getimagesize($val.“gif”);}catch(异常$e){}
$p=“gif”;
}
其他的
{
尝试{$imgsize=(getimagesize($val.“png”);}catch(异常$e){}
$p=“png”;
}
}否则
{
尝试{$imgsize=(getimagesize($val.“jpg”);}catch(异常$e){}
$p=“jpg”;
}
打印(“”);
下载PHP:

               <?php



                    if(isset($_GET["id"]))
                    {
                        try
                        {
                            $url = $_GET["id"];
                            $img = 'f:\\x.png';
                            file_put_contents($img, file_get_contents($url."jpg"));
                        }
                        catch(Exception $e)
                        {
                            try
                            {
                                $url = $_GET["id"];
                                $img = 'f:\\x.png';
                                file_put_contents($img, file_get_contents($url."png"));
                            }
                            catch(Exception $e)
                            {
                                try
                                {
                                    $url = $_GET["id"];
                                    $img = 'f:\\x.png';
                                    file_put_contents($img, file_get_contents($url."gif"));
                                }
                                catch(Exception $e)
                                {
                                    print("HELLO");
                                }
                            }
                        }


                    }else
                    {
                        print("Nope");
                    }

            ?>


提前谢谢

在main.php中,$p包含有效的文件扩展名。如果您在表单post中发送$p作为参数,您将能够在下载中检索它。php@MarkChorley谢谢,我确实试过了,但是出于任何原因,
$p
不包含任何内容。那是我的问题。。。我希望try/catch能像C#一样工作,但显然不行,否则我做错了什么