Page 7 of 37

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:33 am
by simonmlewis
The original file is def correct.
correct key??

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:34 am
by simonmlewis
Oh you mean the sizing. How do I check?

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:37 am
by simonmlewis
The $target_directory is now eching as the full string, from the c:\... is that correct? Or should it just be echoing "/images/pages..."?

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:45 am
by Celauran
Full paths work fine for me. I just copied your partial file locally and I'm seeing a few things. First, there's still that extra closing brace. Perhaps more relevant, however, is a reference to $_FILES['homeimage'] in some places and $_FILES['image'] in others. Is this intentional?

EDIT: Strike that. It appears that all references to $_FILES['image'] have indeed been updated. I'd still check on that additional closing brace, though.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:46 am
by simonmlewis
Where?

Code: Select all


// ADD ALL BANNERS (SQUARE AND DOUBLE)
if ($update == "addbanner")
{
  if (isset($layertype))
  {
    $result = mysql_query ("SELECT id FROM products WHERE romancode = '$searchurl'");
    $num_result = mysql_num_rows($result);
    if ($num_result > 1)
    {
    $disableupload = "yes";
    echo "<script>
  window.location.replace('/a_home&status=duplicatecode')
  </script>";
    }
  }
 
  if (!isset($disableupload))
  {
    if ($stockbanner == "yes")
    {
      if ($searchurl != "")
      {
      mysql_query("INSERT INTO homepage (url, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$searchurl', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
      }
      elseif ($searchurl == "")
      {
      mysql_query("INSERT INTO homepage (url, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$url', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
      }
      echo "<script>
  window.location.replace('/a_home')
  </script>";
    }
    else
    {
    $target_directory = $_SERVER['DOCUMENT_ROOT']."/images/pages/";
    $random = (rand()%99999999);
    $pic=($_FILES['homeimage']['name']);
    $newname="$random"."$pic";
    $target = $target_directory . $newname;
    if ($searchurl != "")
  {
  mysql_query("INSERT INTO homepage(url, image, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$searchurl', '$newname', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
  }
  elseif ($searchurl == "")
  {
  mysql_query("INSERT INTO homepage(url, image, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$url', '$newname', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
  }
 
require_once dirname(__DIR__) . '/vendor/autoload.php';
$imagine = new Imagine\Gd\Imagine();
// An array of widths, keyed by target screen size
$widths = [
    '475' => 237,
    '768' => 384,
    '1920' => 451,
];

// If we have an uploaded image without errors
if (!empty($_FILES) && isset($_FILES['homeimage']) && $_FILES['homeimage']['error'] !== 0) {
    $pathinfo = pathinfo($_FILES['homeimage']['name']);
    $prefix = (rand() % 99999999);

    // Open the uploaded image with the Imagine library
    $image = $imagine->open($_FILES['homeimage']['tmp_name']);

    // Save the original
    $image->save($target_directory . '/' . $pathinfo['basename']);

    // Get image size
    $box = $image->getSize();

    // Resize
    foreach ($widths as $key => $width) {
        $ratio = $width / $box->getWidth();
        $scaled_box = $box->scale($ratio);
        $new_filename = "{$prefix}_{$pathinfo['filename']}{$key}.{$pathinfo['extension']}";
        $image->resize($scaled_box)->save($target_directory . '/' . $new_filename);
    }
}
  //Writes the photo to the server
  if(move_uploaded_file($_FILES['homeimage']['tmp_name'], $target))
    {
echo "$target_directory";
    }
  }
}}
}

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:49 am
by Celauran
Second to last line

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:50 am
by simonmlewis
'image' is there??? Where?

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:50 am
by Celauran
I'm also seeing $target_directory defined twice. It's likely that second definition that's causing things to go awry.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:53 am
by simonmlewis
I can only see target_directory being defined once. And then used in various places (including at the end to echo the location for testing).
If I remove a } brace, I get errors.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:55 am
by Celauran
Formatting is pretty inconsistent in that file and I'm not getting the whole file, so it could be nothing. $target_directory is definitely defined twice, though. See below

Code: Select all

<?php

// ADD ALL BANNERS (SQUARE AND DOUBLE)
if ($update == "addbanner") {
    if (isset($layertype)) {
        $result = mysql_query ("SELECT id FROM products WHERE romancode = '$searchurl'");
        $num_result = mysql_num_rows($result);
        if ($num_result > 1) {
            $disableupload = "yes";
            echo "<script>window.location.replace('/a_home&status=duplicatecode')</script>";
        }
    }

    if (!isset($disableupload)) {
        if ($stockbanner == "yes") {
            if ($searchurl != "") {
                mysql_query("INSERT INTO homepage (url, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$searchurl', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
            } elseif ($searchurl == "") {
                mysql_query("INSERT INTO homepage (url, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$url', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
            }
            echo "<script>window.location.replace('/a_home')</script>";
        } else {
            $target_directory = $_SERVER['DOCUMENT_ROOT']."/images/pages/"; // One
            $random = (rand()%99999999);
            $pic=($_FILES['homeimage']['name']);
            $newname="$random"."$pic";
            $target = $target_directory . $newname;
            if ($searchurl != "") {
                mysql_query("INSERT INTO homepage(url, image, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$searchurl', '$newname', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
            } elseif ($searchurl == "") {
                mysql_query("INSERT INTO homepage(url, image, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$url', '$newname', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
            }

            require_once dirname(__DIR__) . '/vendor/autoload.php';

            $imagine = new Imagine\Gd\Imagine();

            // An array of widths, keyed by target screen size
            $widths = [
                '475' => 237,
                '768' => 384,
                '1920' => 451,
            ];

            // If we have an uploaded image without errors
            if (!empty($_FILES) && isset($_FILES['homeimage']) && $_FILES['homeimage']['error'] !== 0) {
                $target_directory = __DIR__ . '/images/pages'; // Two -- this is probably the cause of some of your issues.
                $pathinfo = pathinfo($_FILES['homeimage']['name']);
                $prefix = (rand() % 99999999);

                // Open the uploaded image with the Imagine library
                $image = $imagine->open($_FILES['homeimage']['tmp_name']);

                // Save the original
                $image->save($target_directory . '/' . $pathinfo['basename']);

                // Get image size
                $box = $image->getSize();

                // Resize
                foreach ($widths as $key => $width) {
                    $ratio = $width / $box->getWidth();
                    $scaled_box = $box->scale($ratio);
                    $new_filename = "{$prefix}_{$pathinfo['filename']}{$key}.{$pathinfo['extension']}";
                    $image->resize($scaled_box)->save($target_directory . '/' . $new_filename);
                }
            }
            //Writes the photo to the server
            if(move_uploaded_file($_FILES['homeimage']['tmp_name'], $target)) {
                echo "$target_directory";
            }
        }
    }}
}

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 11:58 am
by simonmlewis
That isn't the code I sent... Look back a few comments. That 'two' line is not in my code.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 12:00 pm
by Celauran
simonmlewis wrote:That isn't the code I sent... Look back a few comments. That 'two' line is not in my code.
That is the code you sent. The // One and // Two are comments I added to point out where $target_directory was being defined.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 12:01 pm
by simonmlewis
It isn't?!
if (!empty($_FILES) && isset($_FILES['homeimage']) && $_FILES['homeimage']['error'] !== 0) {
After that line, there is nothing about $target_directory behind defined. A few comments back. It's not there. Unless there are TWO lots and I dont' see the other one? Sorry I'm confused.

I get that it would interferee, but I don't see it in the code.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 12:03 pm
by Celauran
Actually, hold up.

Code: Select all

$_FILES['homeimage']['error'] !== 0
That's not right. Errors should be 0 unless there's a problem with the upload. Remove that ! and see if it works.

Re: Image Resizing Script required - a better one...

Posted: Tue Mar 07, 2017 12:08 pm
by simonmlewis
grrr... no still not adding the extra images. :(

Code: Select all

// ADD ALL BANNERS (SQUARE AND DOUBLE)
if ($update == "addbanner")
{
  if (isset($layertype))
  {
    $result = mysql_query ("SELECT id FROM products WHERE romancode = '$searchurl'");
    $num_result = mysql_num_rows($result);
    if ($num_result > 1)
    {
    $disableupload = "yes";
    echo "<script>
  window.location.replace('/a_home&status=duplicatecode')
  </script>";
    }
  }
 
  if (!isset($disableupload))
  {
    if ($stockbanner == "yes")
    {
      if ($searchurl != "")
      {
      mysql_query("INSERT INTO homepage (url, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$searchurl', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
      }
      elseif ($searchurl == "")
      {
      mysql_query("INSERT INTO homepage (url, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$url', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
      }
      echo "<script>
  window.location.replace('/a_home')
  </script>";
    }
    else
    {
    $target_directory = $_SERVER['DOCUMENT_ROOT']."/images/pages/";
    $random = (rand()%99999999);
    $pic=($_FILES['homeimage']['name']);
    $newname="$random"."$pic";
    $target = $target_directory . $newname;
    if ($searchurl != "")
  {
  mysql_query("INSERT INTO homepage(url, image, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$searchurl', '$newname', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
  }
  elseif ($searchurl == "")
  {
  mysql_query("INSERT INTO homepage(url, image, section, freetext, priority, content, homepromocolor, homepromotextcolor, stockbanner) VALUES ('$url', '$newname', '$section', '$freetext', '$priority', '$content', '$homepromocolor', '$homepromotextcolor', '$stockbanner')");
  }
 
require_once dirname(__DIR__) . '/vendor/autoload.php';
$imagine = new Imagine\Gd\Imagine();
// An array of widths, keyed by target screen size
$widths = [
    '475' => 237,
    '768' => 384,
    '1920' => 451,
];

// If we have an uploaded image without errors
if (!empty($_FILES) && isset($_FILES['homeimage'])) {
    $pathinfo = pathinfo($_FILES['homeimage']['name']);
    $prefix = (rand() % 99999999);

    // Open the uploaded image with the Imagine library
    $image = $imagine->open($_FILES['homeimage']['tmp_name']);

    // Save the original
    $image->save($target_directory . '/' . $pathinfo['basename']);

    // Get image size
    $box = $image->getSize();

    // Resize
    foreach ($widths as $key => $width) {
        $ratio = $width / $box->getWidth();
        $scaled_box = $box->scale($ratio);
        $new_filename = "{$prefix}_{$pathinfo['filename']}{$key}.{$pathinfo['extension']}";
        $image->resize($scaled_box)->save($target_directory . '/' . $new_filename);
    }
}
  //Writes the photo to the server
  if(move_uploaded_file($_FILES['homeimage']['tmp_name'], $target))
    {
echo "$target_directory";
    }
  }
}}
}