php


Codeigniter Image Upload and Watermark for multiple Images


I'm using codeigniter upload and image_lib library to upload and give watermark for multiple images that I'm uploading. Below are the code snippet:
function do_upload_img()
{
if(isset($_FILES['portfolioimg']['size']) != 0){
$name_array = array();
$files = $_FILES;
$cpt = count($_FILES['portfolioimg']['name']);
// $config['source_image'] = ''; //get original image
$config['wm_type'] = 'overlay';
$config['wm_overlay_path'] = './assets/img/watermark.png';
$config['quality'] = 50;
$config['wm_vrt_alignment'] = 'middle';
$config['wm_hor_alignment'] = 'center';
$this->load->library('image_lib', $config);
for($i=0; $i<=$cpt-1; $i++)
{
$_FILES['userfile']['name']= $files['portfolioimg']['name'][$i];
$_FILES['userfile']['type']= $files['portfolioimg']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['portfolioimg']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['portfolioimg']['error'][$i];
$_FILES['userfile']['size']= $files['portfolioimg']['size'][$i];
$imgnam = rand(10,1000000).time();
$ext = pathinfo($files['portfolioimg']['name'][$i], PATHINFO_EXTENSION);
if($this->upload->initialize($this->set_upload_options($imgnam,$ext)))
{
if($this->upload->do_upload())
{
$config['source_image'] = './assets/temp/' . 'Rookie_'.$imgnam.'.'.$ext;
$this->image_lib->initialize($config);
$this->image_lib->watermark();
$name_array[] = $this->upload->data('file_name');
}
}else{
$this->session->set_flashdata('falsemsg','Only jpg, jpeg, png files are allowed to be uploaded.');
}
}
return $name_array;
}else{
return false;
}
}
//Image Upload Initialize
private function set_upload_options($imgnam,$ext)
{
//upload an image options
$config = array();
$config['upload_path'] = './assets/temp/';
$config['allowed_types'] = 'jpeg|jpg|png|JPEG|JPG|PNG';
$config['max_size'] = '0';
$config['overwrite'] = true;
$config['file_name'] = 'Rookie_'.$imgnam.'.'.$ext;
return $config;
}
By using this code I'm changing the actual filename to some random names for each and every image that is uploading.
But now the problem is, sometimes in the $name_array the filenames are coming as the original filename instead of the name that I'm assigning($imgnam = rand(10,1000000).time();).

Related Links

Subdomain as part of REQUEST_URI
Foreach loop does not work correctly (PHP)
Get PHP file contents and apply variables
Random Numbers, Column and Row. PHP
WooCommerce Subscriptions API user_has_subscription() returns nothing
Query COUNT echo
How to get custom fields from get_post using single page?
PHP Show my username always front when favorited post
Install PHP modules on CentOS
I can't get the file_name of my uploaded file Codeigniter
How to configure PHPmailer to sendmail and Gmail for localhost?
Composer Package (PHPLeague) in Codeigniter loading class
Magento error magento SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
Using Breezing Forms form data to fill a PDF form
Wordpress Loop not finding any posts
Use custom get results query to show posts WordPress

Categories

HOME
facebook-messenger
mousemove
subdomain
braintree
consul
malware
lvm
cdi
minecraft
static-analysis
solution
xades4j
clish
pm2
grocery-crud
distributed-computing
mahout-recommender
phonegap-build
nose
social-tables
workday
web-analytics
altium-designer
jstree
prompt
hdmi
oracleforms
django-import-export
knights-tour
sql-execution-plan
cloudera-manager
creation
express-session
grails-2.5
orchardcms-1.8
cargo
mars-simulator
selenide
klee
secure-coding
contactless-smartcard
transparency
xcode8.2
linq-to-excel
absolute
roracle
xcglogger
node-apn
solr-query-syntax
maven-jaxb2-plugin
skip-lists
watir-webdriver
aurelia-fetch-client
htmlspecialchars
1010
msxml
business-rules
clp
jenkins-workflow
groovyfx
wicked-pdf
apple-configurator
ioexception
webgrind
grinder
perceptron
juniper-network-connect
arbre
enaml
apple
domino-designer-eclipse
cache-manifest
alwayson
camus
device-admin
refit
sql-function
wso2bam
meteorite
lsa
visual-c++-2005
yii-booster
unicoins
rikulo
significant-digits
jsplitpane
getopt-long
telerik-ajax
series-40
wcf-callbacks
memory-pool
multidrop-bus
fbml
net-use
android-input-method
eventaggregator
mysqli-multi-query
downloadfile
code-camp
word-automation

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile