Jump to content

almost finished, one error, help please


luismc2007
Go to solution Solved by luismc2007,

Recommended Posts

Hi, good morning.

 

I have this code attached that is almost finished ready to work... ( sorry, is coded in spanish language )

 

But, at the end I have an error and don´t know how to fix...

 

I´m, trying to copy and save the new image created "$final" with a new name "$lapeque", but doesn´t work.

 ( At comment: //PASO LA IMAGEN CREADA PEQUEÑA Y LA GRABO EN LA CARPETA DESTINOFINAL )

 

This code is without errors and runs to the end "echo[FIN]".

 

Any idea??

 

Can you help me? please.

 

Thanks a lot.

 

Regards

 

resizer.php.

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Hi: Yes, this is the code and echos in english, sorry and thanks for everybody

 

 

<?php

if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
else
  {
  echo "File uploades: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
  echo "Weight: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
  }

$archivo=$_SERVER['DOCUMENT_ROOT']."/test/arriba/".$_FILES["file"]["name"];
echo "The file is: $archivo<br>";

echo "Copying file in destiny<br>";
move_uploaded_file($_FILES["file"]["tmp_name"], $archivo);
echo "Fichero imagen copiado<br>";

//Get the size of the original image

list($ancho,$alto)=getimagesize($archivo);

 

$anchooriginal=$ancho;
echo "Original width: $anchooriginal<br>";

$altooriginal=$alto;
echo "OriginalHeight: $altooriginal<br>";

 

// What is the image...
$separo = explode( '.', strtolower($archivo) );
$nombre = $separo[0];
$extension = $separo[1];

 

echo "Name: $nombre<br>";
echo "Extension: $extension<br>";

 

//My Final size for thumb
$ancho_final="200";
$alto_final="150";

 

// Create a new jpg image
$imagen_src = imagecreatefromjpeg( $archivo );
echo "ok, new image created in jpg format<br>";

//scaling and calculating size of image
$escala_1=1;
$escala_2=1;
$escala_1=$ancho_final/$anchooriginal;
$escala_2=alto_final/$altooriginal;

 

echo "New Sizes: $escala_1, $escala_2 <br>";

 

//Let see if vertical or horizontal

 

if ( $altooriginal > $anchooriginal )
 {
 $escala_1 = $escala_2;
 }

echo"Ok, scaling complete vertical-horizontal<br>";

 

// scaling

$horizontal=ceil( $anchooriginal * $escala_1 );
$vertical=ceil( $altooriginal * $escala_1 );

echo"The new scale is: $horizontal, $vertical<br>";

 

//create new image
$final=imagecreatetruecolor ( $horizontal, $vertical );

echo"The new image is created<br>";

 

//copying the new image into teh new small image

imagecopyresized ( $final, $imagen_src, 0, 0, 0, 0, $horizontal, $vertical, imagesx($imagen_src), imagesy($imagen_src) );

echo"Copied<br>";

$destinofinal=$_SERVER['DOCUMENT_ROOT']."/test/arriba/";
echo "Copying file into final destiny: $destinofinal<br>";

//The new name for thumb

$cadenapeque="p.jpg";
$extraigo=substr($final,0,-4);
$lapeque=$extraigo.$cadenapeque;
echo "The thumb is: $lapeque<br>";

 

//creating
imagejpeg($final,$lapeque);

 

//The thumb that I want to copy and save in the server

copy($lapeque, $destinofinal);
echo "Image saved in destiny<br>";

echo"closing...<br>";

imagedestroy ($final);

 

echo"END<br>";
 
?>

 

I think my error is around this comment line:

//The thumb that I want to copy and save in the server

 

Thanks.

Link to comment
Share on other sites

Hi. I just do that, I put that line at the beggining of the file and execute in the server.. no errors. :-)

 

Maybe a clue.

I receive this from an echo..... The thumb is: Resource ip.jpg

 

Can be here the problem? HJow to fix?

 

thanks.

Link to comment
Share on other sites

When I run your script into my server I got next errors:

 

1. Notice: Use of undefined constant alto_final - assumed 'alto_final' in .... you're using - $escala_2=alto_final/$altooriginal (don't forget a dollar sign)

 

2. Warning: substr() expects parameter 1 to be string, resource given in ...

 

3. Warning: copy(): The second argument to copy() function cannot be a directory in ...

 

Double check the script and redesign it, also use a code tags next time, please! 

Link to comment
Share on other sites

Oh,

 

Dollar sign... jeje.. just forget it and don´t see it. :-) (sorry)

now is ok...

     $escala_1=$ancho_final/$anchooriginal;
     $escala_2=$alto_final/$altooriginal;

 

 

About the substr() function.... I think $final (first argument) is the "name" of the image that I create... or not? What I´m doing wrong with this?

 

Thanks.

Link to comment
Share on other sites

 

 

About the substr() function.... I think $final (first argument) is the "name" of the image that I create... or not? What I´m doing wrong with this?

 

You have to know what type of value expect to be the $final variable.

 

Check :

 

echo gettype($final);

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.