[php]加载图像文件以打开其内容并导出为.jpg文件

[php]加载图像文件以打开其内容并导出为.jpg文件,php,Php,如何创建一个脚本,该脚本将打开存储在服务器上的文件,复制其内容并作为.jpg文件导出/下载到客户端。这个代码正确吗 <?php $imgfile = fopen(image/location.jpg); $loadimg = imagecreatefromjpeg($imgfile); imagejpeg($loadimg); ?> 或者我应该换一种方式?我是php中操作图像文件的新手,所以这就是为什么这段代码看起来很奇怪 我想做一个脚本,将允许创建图像文件的干净副本,但不是

如何创建一个脚本,该脚本将打开存储在服务器上的文件,复制其内容并作为.jpg文件导出/下载到客户端。这个代码正确吗

<?php
$imgfile = fopen(image/location.jpg);
$loadimg = imagecreatefromjpeg($imgfile);

imagejpeg($loadimg);
?>

或者我应该换一种方式?我是php中操作图像文件的新手,所以这就是为什么这段代码看起来很奇怪

我想做一个脚本,将允许创建图像文件的干净副本,但不是整个文件,只有它包含的图像,没有图像文件可以存储的额外数据。这就是为什么我最初的想法是使用GD打开文件进行编辑并将其复制到新图像中。使用字符串(文件路径)作为参数,而不是文件指针

<?php
$srcpath = 'image/location.jpg';
if ( !is_readable($srcpath) ) {
    header('file not found', 404);
    die;
}
else {
    header('Content-Type: image/jpeg');
    // for affecting the suggested file name
    // see https://tools.ietf.org/html/rfc2616#section-19.5.1
    $loadimg = imagecreatefromjpeg($imgfile);
    if ( !$loadimg ) {
        header('unable to process resource', 404); // 404 is not the correct error code for this....
        die;
    }
    imagejpeg($loadimg);
}
将字符串(文件路径)作为参数,而不是文件指针

<?php
$srcpath = 'image/location.jpg';
if ( !is_readable($srcpath) ) {
    header('file not found', 404);
    die;
}
else {
    header('Content-Type: image/jpeg');
    // for affecting the suggested file name
    // see https://tools.ietf.org/html/rfc2616#section-19.5.1
    $loadimg = imagecreatefromjpeg($imgfile);
    if ( !$loadimg ) {
        header('unable to process resource', 404); // 404 is not the correct error code for this....
        die;
    }
    imagejpeg($loadimg);
}

您的源文件始终是图像?是要处理图像文件还是只传递它?始终是.jpg还是.jpeg图像。我想复制图像文件的内容并将其保存为新文件。“复制图像文件的内容并将其保存为新文件”-这将是一项工作-但在您最初的问题中,您写了“导出/下载到客户端”。这听起来更像-只有当您想在服务器上处理(调整大小、修改、规范化等)图像时,才可以使用imagecreatefromjpeg()等。是和否,我想打开图像文件进行编辑,但不做任何更改,然后将打开和“编辑”的内容保存到客户端设备上的文件中。我只想执行假编辑,将文件复制到客户端设备。我知道这听起来可能有些奇怪,但这正是我想做的:-)您的源文件始终是图像?您想处理图像文件还是只传递它?始终是.jpg或.jpeg图像。我想复制图像文件的内容并将其保存为新文件。“复制图像文件的内容并将其保存为新文件”-这将是一项工作-但在您最初的问题中,您写了“导出/下载到客户端”。这听起来更像-只有当您想在服务器上处理(调整大小、修改、规范化等)图像时,才可以使用imagecreatefromjpeg()等。是和否,我想打开图像文件进行编辑,但不做任何更改,然后将打开和“编辑”的内容保存到客户端设备上的文件中。我只想执行假编辑,将文件复制到客户端设备。我知道这听起来至少有些奇怪,但这正是我想做的:——)