我已经编辑了基本的php.net脚本,以调整大小以适合我的规格。 它适用于本地文件,但是涉及远程文件(这是试图调整wordpress博客的图像大小以配合博客文章),我似乎无法弄清楚如何抓取图像,对其进行处理然后输出。

// The file
$filename = 'like-father-like-son.jpg';

// Set a maximum height and width
$width = 150;
$height = 150;

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

list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);

上面的脚本有效,但是我希望$ filename可以访问: http : //USERNAME.files.wordpress.com/DATE/like-father-like-son.jpg


编辑:此脚本工作正常。 我试图在本地运行WAMP的网络出现问题。 那会教我在上班时间的午餐时间尝试做! 很抱歉浪费任何人的时间,并感谢那些贡献者。

请随意使用以下脚本,它会根据文件或URL调整图像的大小,使其适合声明的尺寸(只要是jpeg),并保持相同的纵横比。

编辑2:我以为我会在这里添加它,因为我在实现它时遇到了麻烦。 我个人还有两个问题,我想用它来生成图像,就像打印一些带有'header('Content-Type:image / jpeg');的文本一样。 不起作用。 我还希望调整大小脚本能够与多个图像一起运行。

解决方案:将图像调整大小脚本放置在单独的文件(imageresizer.php)中,并使用GET数据向其发送图像的URL。 因此,图像调整大小脚本的顶部现在显示为:

// The file
$filename = $_GET['imagesrc'];

在底部,我得到了图像返回:

//Output
return (imagejpeg($image_p,null,100));

用于引用和渲染图像的脚本(将数据发送到图像缩放器的脚本)将类似于以下内容:

$imagesrc = "put your image sourcing script here";
echo '<img src="imageresizer.php?' . $imagesrc . '" />';

我希望这可以帮助某个人!

===============>>#1 票数:1

<?php
    $remote_file = 'http://l.yimg.com/g/images/soup_hero-04.jpg';
    $new_width = 100;
    $new_height = 100;
    list($width, $height) = getimagesize($remote_file);
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($remote_file);        
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    header('Content-Type: image/jpeg'); 
    imagejpeg($image_p, NULL, 100);
    imagedestroy($image_p);
?>

注意:确保php标记之前或之后没有空格

===============>>#2 票数:0 已采纳

呵呵,好像imagecreatefromjpeg接受作为参数url,看看http://www.php.net/manual/en/function.imagecreatefromjpeg.php

imagecreatefromjpeg —从文件或URL创建新图像

getimagesize可以使用URL,在PHP 4.0.5中添加了suport http://www.php.net/manual/zh/function.getimagesize.php

4.0.5    URL support was added.

  ask by user1093553 translate from so

未解决问题?本站智能推荐:

1回复

用PHP调整图像大小

在进行图像处理时,我发现GD和PHP中的Imagick不会将图像的大小调整为与彩色像素相同的水平,在大多数情况下是不需要的。 现在以防万一,我需要从任何尺寸的图像缩放到256 * 256 为了确保测试结果一致,我使用了256 * 256的图像并将其调整为自己的尺寸。 我尝试过的
1回复

在PHP中调整图像大小

我在调整图片尺寸时遇到问题。 为了显示上传的图像,我将其路径保存在数据库表中,并且显示图像的代码是: 我正在使用timthumb和。$ row ['location']。 具有类似“ photos / image.png”的值。 页面无法显示图片,我是否正确使用timthumb?
2回复

PHP调整图片大小的API

我正在开发IPS4。我有个人资料弹出窗口: 由于盖板的尺寸和尺寸很大,因此型材盖板的载荷非常长。 因此,我决定制作一个PHP API,将图像调整为所需的大小,然后显示调整后的图像。 这是使封面上传速度更快的好主意吗?
2回复

如何在PHP中调整图像大小

My Updated code /*$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); $path = $_FILES['file']['tmp_name']; $filename = file_get
1回复

imagick在PHP中调整大小

我试图在上传后调整图像大小。 我有2个文件(view_project.php和user.inc.php)。 在user.inc.php中,我正在上传图像并返回一个数组,其中包含上传文件的名称。 在view_project.php中,我得到了该数组,并且在foreach中,我试图将图像调
1回复

PHP保存调整大小的图像

我有这个PHP脚本,它可以调整图像的大小并显示结果图像: 现在,我要保存图像而不是显示图像,保留原始图像,并将新创建的图像命名为“ my-image-resized.jpeg”,怎么办?
2回复

调整图片大小PHP

我正在尝试创建一个简单的图像调整大小功能,您能告诉我我要去哪里了吗: $ target_path是新上传的图像,如果宽度超过700,我想调整其大小。 完成此操作后,数据库将使用信息更新,此刻可以很好地上传图像,但是大小似乎完全相同,因此调整大小的代码无法正常工作吗?
1回复

使用Php调整图像大小和裁剪

我正在使用php脚本上传和调整图像大小,非常简单: 我想进一步,现在我只是调整图像大小,无论比例,思考是,我想调整到一个固定的和高度,而不会失去原有的比例,这当然是通过裁剪实现的+调整原始图像的大小。 我不知道如何使用我的实际imagecreatetruecolor和imageco
2回复

PHP图像按宽高比调整大小

我有这个PHP脚本,可将图像大小调整为50%(或任何预设百分比) 现在,如果我想将$ new_width指定为1200(px),并告诉$ new_height自动计算,保持纵横比并将新图像的名称设置为“ test-2.jpg”,该怎么办?
2回复

在PHP中自动调整图像大小

我想在上载时自动调整图像大小。我想知道很多站点,但是在每个站点中,用户都为所有图像放置了新宽度和新高度,但是我要自动调整大小,因为问题是用户何时将上载相同尺寸的图像,然后我们将轻松地进行剪切,但是当用户上传横向或纵向尺寸的图像时,图像会混乱并剪切错误的尺寸。 所以我正面临这个问题。