0

I am new with php and I have problem with this:

              public function storeUploadedImage( $image ) {


            if ( $image['error'] == UPLOAD_ERR_OK )
            {
              // Does the ShopItem object have an ID?
              if ( is_null( $this->id ) ) trigger_error( "ShopItem::storeUploadedImage(): Attempt to upload an image for an ShopItem object that does not have its ID property set.", E_USER_ERROR );

              // Delete any previous image(s) for this article
              $this->deleteImages();

              // Get and store the image filename extension
              $this->shopItemImg = strtolower( strrchr( $image['name'], '.' ) );

              // Store the image

              $tempFilename = trim( $image['tmp_name'] );

              if ( is_uploaded_file ( $tempFilename ) ) {
                if ( !( move_uploaded_file( $tempFilename, $this->getImagePath() ) ) ) trigger_error( "ShopItem::storeUploadedImage(): Couldn't move uploaded file.", E_USER_ERROR );
                if ( !( chmod( $this->getImagePath(), 0666 ) ) ) trigger_error( "ShopItem::storeUploadedImage(): Couldn't set permissions on uploaded file.", E_USER_ERROR );
              }

              // Get the image size and type
              $attrs = getimagesize ( $this->getImagePath() );
              $imageWidth = $attrs[0];
              $imageHeight = $attrs[1];
              $imageType = $attrs[2];

              // Load the image into memory
              switch ( $imageType ) {
                case IMAGETYPE_GIF:
                  $imageResource = imagecreatefromgif ( $this->getImagePath() );
                  break;
                case IMAGETYPE_JPEG:
                  $imageResource = imagecreatefromjpeg ( $this->getImagePath() );
                  break;
                case IMAGETYPE_PNG:
                  $imageResource = imagecreatefrompng ( $this->getImagePath() );
                  break;
                default:
                  trigger_error ( "ShopItem::storeUploadedImage(): Unhandled or unknown image type ($imageType)", E_USER_ERROR );
              }

              // Copy and resize the image to create the thumbnail
              $thumbHeight = intval ( $imageHeight / $imageWidth *  SHOP_THUMB_WIDTH );
              $thumbResource = imagecreatetruecolor (  SHOP_THUMB_WIDTH, $thumbHeight );
              imagecopyresampled( $thumbResource, $imageResource, 0, 0, 0, 0,  SHOP_THUMB_WIDTH, $thumbHeight, $imageWidth, $imageHeight );

              // Save the thumbnail
              switch ( $imageType ) {
                case IMAGETYPE_GIF:
                  imagegif ( $thumbResource, $this->getImagePath(  SHOP_IMG_TYPE_THUMB ) );
                  break;
                case IMAGETYPE_JPEG:
                  imagejpeg ( $thumbResource, $this->getImagePath(  SHOP_IMG_TYPE_THUMB ),  SHOP_JPEG_QUALITY );
                  break;
                case IMAGETYPE_PNG:
                  imagepng ( $thumbResource, $this->getImagePath(  SHOP_IMG_TYPE_THUMB ) );
                  break;
                default:
                  trigger_error ( "ShopItem::storeUploadedImage(): Unhandled or unknown image type ($imageType)", E_USER_ERROR );
              }

              $this->update();
            }
          }

The error:

Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Filename cannot be empty in C:\wamp\www\risa\classes\shopItem.php on line 69

var_dump($_FILES):
array (size=1)
  'image' => 
    array (size=5)
      'name' => string '55.jpg' (length=6)
      'type' => string 'image/jpeg' (length=10)
      'tmp_name' => string 'C:\wamp\tmp\php9C26.tmp' (length=23)
      'error' => int 0
      'size' => int 175289

Thank You!

1 Answer 1

1

You use move_uploaded_file( $tempFilename, $this->getImagePath(), but the second argument of move_uploaded_file has to be an filename to e.g move_uploaded_file( $tempFilename, $this->getImagePath().$tempFilename or move_uploaded_file( $tempFilename, $this->getImagePath().$image['name']

Sign up to request clarification or add additional context in comments.

1 Comment

Thank You Geru for quick help, Error again, but I made this upload from this tutorial, and its worked first time: elated.com/articles/add-image-uploading-to-your-cms maybe its more detail for You! Thanks!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.