Support
- Advanced Backup
- Client Side
- Cloud Enterprise
- ColdFusion
- Control Panel
- cPanel
- Customer Portal
- DNS Information
- Dedicated Servers
- DirectAdmin
- Domain Name
- dotDefender
- Dreamweaver
- FileCatalyst
- Front Page
- FTP
- General Information
- Hosted Exchange & SharePoint
- IIS6
- IIS7
- Juniper Netscreen Firewalls
- Linux
- List Server
- MIVA Merchant
- MySQL
- Patching / Server Updates
- phpMyAdmin
- Plesk
- Policies and Procedures
- Premium Spam Filtering
- Programming
- 500 Error
- Accessdb 1
- Accessdb 2
- Aspmail
- Aspsqlinjection
- Aspupload
- Connectionstrings
- Faq Windows
- Locked Db
- Programming
- Use a JSP (Java) Redirect Script
- Conditional 301 Redirect
- Using ADOdb to Build a Database Agnostic PHP Application
- Store PHP Session Data in a Database with ADODB
- Use JQueryUI Sortable to Manipulate Sort Order in a Database Table
- Use PHP GD to Resize Images on Upload
- Add a Facebook Like Button to Your Website
- Add a Twitter Tweet Button to Your Website
- Enhance User Experience with JavaScript Form Validation
- Get Started Integrating FaceBook with the PHP-SDK
- Get Started with the Twitter API
- Ruby on Rails
- Search Engine Submission
- SharePoint 3
- SharePoint 2010
- SiteDesigner
- SmarterMail 3
- SmarterMail 4
- SmarterMail 5
- SmarterMail 6
- SmarterMail 7
- SmarterStats
- SmarterTrack
- SQL Server
- Secure Socket Layer (SSL)
- Uploading Your Website
- Video Tutorials
- Windows Server 2003
- Windows Server 2008
- Web Design
- WordPress
- Advanced Monitoring
- MediaWiki
- Enkompass
- Microsoft Outlook 2010
- Android
- Outlook Web Access
- Critical Availability Service
- NAS Data Transfer
- Customer Portal Demos
- Joomla
- Moodle
- Cloud Dedicated
- Gallery CMS
- phpBB
- Standard Monitoring
- Righteous Restore
- NAS (Network Attached Storage)
- Networking
- SmarterMail 8
- PCI Security Scan
- LinkTiger
- Windows Cloud VPS
- Linux Cloud VPS
- Linux VPS
- Windows VPS
- Hyper V
- ENSIM
- Alert Logic
- Webmin
- e107
- Vbulletin
- VPN
- Visual Vault
- Mozilla Thunderbird
- PyroCMS
- Active Directory
- Vmware Related
- Drupal
Use PHP GD to Resize Images on Upload
PHP GD Lib is a library used to manipulate images directly on a server. It is available on all Hosting.com Platform Services running Linux.
Installation
On Red Hat or CentOS servers it can be installed with:
yum install php-gd
On Ubuntu use:
apt-get install php5-gd
Example Code Usage for Jpeg Images
Create an image resource.
$im = ImageCreateFromJpeg('/path/to/imagefile.jpg');
Find the original height and width.
$ox = imagesx($im);
$oy = imagesy($im);
Now we will determine the new height and width. For this example maximum height will be 375px and the width will be 500px. To prevent inproper proportions we need to know if the image is portrate or landscape then set one dimension and caluate the other.
$height = 375;
$width = 500;
if($ox < $oy) #portrate
{
$ny = $height;
$nx = floor($ox * ($ny / $oy));
}
else #landscape
{
$nx = $width;
$ny = floor($oy * ($nx / $ox));
}
Then next two functions will create a new image resource then copy the original image to the new one and resize it.
$nm = imagecreatetruecolor($nx, $ny);
imagecopyresized($nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy);
Now we just need to save the new file.
imagejpeg($nm, '/path/to/smallerimagefile.jpg', 100);
Support for GIF images
With some minor changes the code above will work for GIF images. You will need to use ImageCreateFromGif in place of ImageCreateFromJpeg. You will also need to use imagegif in the place of imagejpeg.
Adding a few conditions to the code will allow you to support both image types.
