Image Resizing Script required - a better one...
Moderator: General Moderators
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
sorry. what should I alter it to?
So I alter the composer.json file in my project directory... to what ??
And then go back to cmd, CD to the project root and run composer install.
So I alter the composer.json file in my project directory... to what ??
And then go back to cmd, CD to the project root and run composer install.
Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
simonmlewis wrote:sorry. what should I alter it to?
Code: Select all
{
"require": {
"imagine/imagine": "^0.6.3"
}
}
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
issue.
Still get this error too:
Parse error: syntax error, unexpected 'require' (T_REQUIRE) in C:\xampp\phpMyAdmin\site-wide\includes\a_home.inc on line 114
Still get this error too:
Parse error: syntax error, unexpected 'require' (T_REQUIRE) in C:\xampp\phpMyAdmin\site-wide\includes\a_home.inc on line 114
Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
Maybe this is wrong??
Code: Select all
if ($usertype == "admin")
{
composer require imagine/imagine;
$todaydate = date('Y-m-d');Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
- Remove your composer.lock.
- Remove your vendor directory.
- Use the composer.json I provided above.
- Run
composer install. - Require vendor/autoload.php in your script.
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
Ok that seems to have gone well.
[text]if ($usertype == "admin")
{
composer require imagine/imagine;
$todaydate = date('Y-m-d');[/text]
Is this correct?
I still get this on the main page:
[text]
Parse error: syntax error, unexpected 'require' (T_REQUIRE) in C:\xampp\phpMyAdmin\site-wide\includes\a_home.inc on line 114[/text]
[text]if ($usertype == "admin")
{
composer require imagine/imagine;
$todaydate = date('Y-m-d');[/text]
Is this correct?
I still get this on the main page:
[text]
Parse error: syntax error, unexpected 'require' (T_REQUIRE) in C:\xampp\phpMyAdmin\site-wide\includes\a_home.inc on line 114[/text]
Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
No. That composer line is something you'd type at the command line. You want to be requiring the vendor/autoload.php filesimonmlewis wrote:Ok that seems to have gone well.
Is this correct?Code: Select all
if ($usertype == "admin") { composer require imagine/imagine; $todaydate = date('Y-m-d');
Code: Select all
require_once dirname(__DIR__) . '/vendor/autoload.php';-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
Ok the good news is there are no errorsr at all.
It uploads the core image.
The bad news is, it is not uploading anything else at all. So when I search for the uploaded image's first few characters, it shows only that one file.
It uploads the core image.
The bad news is, it is not uploading anything else at all. So when I search for the uploaded image's first few characters, it shows only that one file.
Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
Does the target directory exist? Is it writable? Are there any errors in your error log? What does your code look like now?
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
Actually no! It says it's undefined variable.
Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
Can you please be more specific? I'm trying to help. I asked four questions but got one answer, and it's not clear which question that was an answer to.
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
Does the target directory exist?
If I echo $target_directory, it shows an error of undefined variable.
Is it writable?
If it is directing correctly to /images/pages, yes it would be as the core image goes in there successfully.
Are there any errors in your error log?
Not sure where the error log is in xampp.
What does your code look like now?
If I echo $target_directory, it shows an error of undefined variable.
Is it writable?
If it is directing correctly to /images/pages, yes it would be as the core image goes in there successfully.
Are there any errors in your error log?
Not sure where the error log is in xampp.
What does your code look like now?
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 = $_SERVER['DOCUMENT_ROOT']."/images/pages/";
$random = (rand()%99999999);
$pic=($_FILES['homeimage']['name']);
$newname="$random"."$pic";
$target = $target . $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';
$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";
}
}
}}
}Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
See how you have $target initially set?
What if you saved that as $target_directory and then updated a few lines down to look like this
Which is to say:
Code: Select all
$target = $_SERVER['DOCUMENT_ROOT']."/images/pages/";Code: Select all
$target = $target_directory . $newname;Code: Select all
$target_directory = $_SERVER['DOCUMENT_ROOT']."/images/pages/";
$random = (rand()%99999999);
$pic=($_FILES['homeimage']['name']);
$newname="$random"."$pic";
$target = $target_directory . $newname;
-
simonmlewis
- DevNet Master
- Posts: 4435
- Joined: Wed Oct 08, 2008 3:39 pm
- Location: United Kingdom
- Contact:
Re: Image Resizing Script required - a better one...
No errors now, but still not uploading the other photos to the folder.
Love PHP. Love CSS. Love learning new tricks too.
All the best from the United Kingdom.
All the best from the United Kingdom.
Re: Image Resizing Script required - a better one...
Is it saving the original correctly? Have you checked that it's looking for the correct key in $_FILES?