图像创建从jpeg() PHP

发布于 2024-10-31 02:26:53 字数 1153 浏览 3 评论 0原文

我正在使用 imagecreatefromjpeg() 函数来合并两张图片。

现在我面临的问题是,当我使用服务器中的图片时,它工作得很好,而当我使用其他网站上的图片时,它就不行了工作。

例如:当我使用这个 PHP 文件 http://coolfbapps.in/test/merger.php with function

 imagecreatefrompng('http://coolfbapps.in/test/1.png');

它工作得很好,因为图像位于我自己的服务器上,

放置不在我的服务器上的图像的链接

但是当我更改此函数时,例如,

  imagecreatefrompng('http://www.businesseconomics/Test.png');

。它不起作用。 (图像文件不在我的服务器上)

请建议我使用此功能的替代方案或解决方案,因为我想在 Facebook 应用程序中使用此功能。

像 file-get-contents 这样的功能也显示相同的错误。我希望这不是服务器端问题.. allowed_url_fopen 已打开,但是 allow_url_include 已关闭

更新...实际代码。我用它来合并两张图片

 $dest = imagecreatefrompng('http://coolfbapps.in/test/1.png');

 $src = imagejpeg('http://img.allvoices.com/thumbs/image/111/111/75152279-pic.jpg');

 imagealphablending($dest, false);
 imagesavealpha($dest, true);

 imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100); 

 header('Content-Type: image/png');
 imagepng($dest);

 imagedestroy($dest);
 imagedestroy($src);

I'm using imagecreatefromjpeg() function to merge two pictures..

now the problem which I'm facing is that when I use the pictures from my server, it works perfectly and when I use pictures from some other website, it doesn't work.

For example: when I use this PHP file http://coolfbapps.in/test/merger.php with function

 imagecreatefrompng('http://coolfbapps.in/test/1.png');

It works perfectly fine as the image is at my own server

but when I alter this function n put the link of an image which is not on my server,

for example.

  imagecreatefrompng('http://www.businesseconomics/Test.png');

it doesnt work. (the image file is not on my server)

please suggest me an alternative to this function or a solution as I want to use this with Facebook apps..

Functions like file-get-contents are also showing the same error. I hope its not server end problem..
allow_url_fopen is on but
allow_url_include is off

Update...Actual code. I'm using this to merger two pictures

 $dest = imagecreatefrompng('http://coolfbapps.in/test/1.png');

 $src = imagejpeg('http://img.allvoices.com/thumbs/image/111/111/75152279-pic.jpg');

 imagealphablending($dest, false);
 imagesavealpha($dest, true);

 imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100); 

 header('Content-Type: image/png');
 imagepng($dest);

 imagedestroy($dest);
 imagedestroy($src);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

合约呢 2024-11-07 02:26:53

您可以使用 cURL 来获取图像数据,而不是使用 file_get_content。这是一个资源:
http://php.net/manual/en/book.curl.php

获取 html 的示例(图像也可以):

<?php    
    $ch = curl_init("http://img.allvoices.com/thumbs/image/111/111/75152279-pic.jpg");
    $fp = fopen("example_homepage.jpg", "w");

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);

    $img = imagecreatefromjpeg("example_homepage.jpg");
?>

Instead of using file_get_content you can use cURL to get your image data. Here is a resource:
http://php.net/manual/en/book.curl.php

Example with getting html ( images will also work ):

<?php    
    $ch = curl_init("http://img.allvoices.com/thumbs/image/111/111/75152279-pic.jpg");
    $fp = fopen("example_homepage.jpg", "w");

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);

    $img = imagecreatefromjpeg("example_homepage.jpg");
?>
夜访吸血鬼 2024-11-07 02:26:53

听起来该函数没有 URL 打开功能,或者有,并且您有 allow_url_fopenphp.ini 中关闭。出于安全原因,您不能使用 ini_set()

您可以将该文件下载到本地服务器,然后打开它。

file_put_contents('image.jpg',
                  file_get_contents('http://www.businesseconomics/Test.png')
                 );

您也可以使用 copy() ,文档暗示它可以读取 URL。

Sounds like the function does not have URL opening capabilities, or it does and you have allow_url_fopen off in php.ini. You can't use ini_set() for security reasons.

You could download the file to your local server, and then open it.

file_put_contents('image.jpg',
                  file_get_contents('http://www.businesseconomics/Test.png')
                 );

You could probably use copy() too, the docs hint that it can read URLs.

转身泪倾城 2024-11-07 02:26:53

像这样的事情可能会有所帮助。

$imagestr = file_get_contents('http://www.businesseconomics/Test.png');

$image = imagecreatefromstring($imagestr);

imagecreatefrompng($image);

已更新::

$imagestr = file_get_contents('http://www.gravatar.com/avatar/95111e2f99bb4b277764c76ad9ad3569?s=32&d=identicon&r=PG');

$image = imagecreatefromstring($imagestr);

header('Content-type: image/jpeg');

imagejpeg($image);

Something like this might help.

$imagestr = file_get_contents('http://www.businesseconomics/Test.png');

$image = imagecreatefromstring($imagestr);

imagecreatefrompng($image);

UPDATED::

$imagestr = file_get_contents('http://www.gravatar.com/avatar/95111e2f99bb4b277764c76ad9ad3569?s=32&d=identicon&r=PG');

$image = imagecreatefromstring($imagestr);

header('Content-type: image/jpeg');

imagejpeg($image);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文