Dizzi
Dizzi

Reputation: 747

How to move image to new folder?

As the title says ..How to move/rename image to new folder? I have this so far and the new image is resized/cropped but it doesn't move to "new/" folder:

$in_filename = '4csrWqu9ngv.jpg';

list($width, $height) = getimagesize($in_filename);

$offset_x = 0;
$offset_y = 0;

$new_height = $height - 65;
$new_width  = $width;

$image     = imagecreatefromjpeg($in_filename);
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height);

header('Content-Type: image/jpeg');
imagejpeg($new_image);

$move_new = imagejpeg($new_image);

rename($move_new, 'new/' . $move_new);

As always any help is appreciated :)

Upvotes: 4

Views: 3610

Answers (2)

Ondrej Slinták
Ondrej Slinták

Reputation: 31910

You had few mistakes in your code. Output of imagejpeg is a boolean, so your rename always failed. You also never saved resized image. You have to use 2nd parameter of imagejpeg and provide proper filename of new image. Also, make sure directory new exists, else rename will fail.

Fixed code:

$in_filename = '4csrWqu9ngv.jpg';

list($width, $height) = getimagesize($in_filename);

$offset_x = 0;
$offset_y = 0;

$new_height = $height - 65;
$new_width  = $width;

$image = imagecreatefromjpeg($in_filename);
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height);

/* Uncomment in case you want it also outputted
header('Content-Type: image/jpeg');
imagejpeg($new_image);
*/

imagejpeg($new_image, $in_filename);

rename($in_filename, 'new/' . $in_filename);

Upvotes: 5

cweiske
cweiske

Reputation: 31078

Does the "new" folder exist? If not, you need to create it at first using mkdir.

Upvotes: 0

Related Questions