Php Upload File Server Side

Active4 months ago

Server-Side Implementation in PHP Depending on whether the FileUploader sends Ajax requests or uses an HTML form to upload files, the server must be configured differently. Ready-to-use implementations for both these cases are given below. Please help me with server side validation of upload files. I my form have 4 inputs for upload files. I need help with multi condition for this 4 inputs. First examle of validation works but only.

Learn how you how you can support uploading files with PHP. As with most other server-side interactions from HTML, uploading files make use of forms. Server Side PHP Reference SQL Reference. PHP File Open/Read PHP File Create/Write PHP File Upload PHP Cookies PHP Sessions PHP Filters PHP. The is_uploaded_file. Download File to server from URL. Ask Question. How to upload file from url via ftp using php? Getting file information via url in php. What is the difference between client-side and server-side programming? PHP - Safe way to download large files? Hot Network Questions. POST method uploads. PHP is capable of receiving file uploads from any RFC-1867 compliant browser. The PHP settings (on the server side) for maximum-size.

I have a website hosted on a PC I have no access to. I have an upload form allowing people to upload mp3 files up to 30MB big. My server side script is done in PHP.

Every time I try and upload a file, I receive an error claiming that the file exceeds the maximum size allowed, so I need to increase the size. My research on the web suggested changing the .htaccess file which I do not have access to, so that won't work. Others suggested that I should add a custom php.ini file to my root which did not work. Any other suggestions?

Paolo Forgia
4,7886 gold badges29 silver badges50 bronze badges
Yo MommaYo Momma

Php Upload Form

3,8185 gold badges29 silver badges43 bronze badges

15 Answers

You need to set the value of upload_max_filesize and post_max_size in your php.ini : Cacti usr share php adodb drivers adodb mysql inc php.

After modifying php.ini file(s), you need to restart your HTTP server to use new configuration.

If you can't change your php.ini, you're out of luck. You cannot change these values at run-time; uploads of file larger than the value specified in php.ini will have failed by the time execution reaches your call to ini_set.

See the Description of core php.ini directives.

meagarmeagar
188k32 gold badges284 silver badges300 bronze badges

You can change it via an .htaccess file.

.htaccess files are stored in the same directory as your .php files are. They modify configuration for that folder and all sub-folders. You simply use them by creating an .htaccess file in the directory of your choice (or modify it if present).

The following should enable you to increase your upload limit (if the server provider allows PHP config changes via .htaccess).

Andrew MooreAndrew Moore
78.4k29 gold badges154 silver badges169 bronze badges

I had the same problem and i created a .user.ini file and put it in the directory in which the upload script was located. Than inside that file i set these these two values:

and it worked great for me!

Tamil Selvan C
15.5k9 gold badges38 silver badges59 bronze badges
user1641252user1641252

You can also use ini_set function (only for PHP version below 5.3):

Like @acme said, in php 5.3 and above this settings are PHP_INI_PERDIR directives so they can't be set using ini_set. You can use user.ini instead.

vzwick
8,9354 gold badges35 silver badges60 bronze badges
ManjarManjar

To locate the ini file, first run

Then open the file and change

replacing the 2M with the size you want, for instance 100M.

I've got a blog post about with a little more info too http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-file-for-wordpress

seanbehanseanbehan

I have the same problem in the past . and i fixed it through .htaccess file

When you make change on php configration through .htaccess you should put configrations in IfModule tag, other that the Internal server error will arise.

This is an example, it works fine for me:

And this is php referance if you want to understand more.http://php.net/manual/en/configuration.changes.php

Eyad FarraEyad Farra
4,1361 gold badge19 silver badges24 bronze badges

I resolved this issue by creating a file called .user.ini in the directory where the PHP file scripts reside (this means any PHP script in this directory gets the new file size limit)

The contents of .user.ini were:

Fabien Sa
6,0572 gold badges32 silver badges38 bronze badges
PearcePearce

I had the same problem. I have tried three ways that were usually suggested:

  1. functions.php
  2. php.ini
  3. .htaccess

none if which solved my problem. I am using godaddy and came across a suggested solution which was:

  1. got to Web Hosting, then Manage
  2. Under Software select Select PHP version
  3. Select Switch to PHP Options found on the top right corner of the table in font color: blue
  4. On the bottom most part, you'll probably have upload_max_filesize = 2M
  5. Now, feel free to change it
  6. Be sure to click the Save button!
  7. Now go to your wp-admin panel, select Media then Add

Voila! Now you have a different max upload file size :)

nrmbnrmb

Well, I would like to add my 2 cents here.

I'm using shared webhosting and I tackled this problem many times, tried to resolve it on my own but to no avail. Finally I managed to resolve it through checking various web sources and contacting my hosting service provider. My questions were 'How can I change php value memory_limit in shared webhosting?', 'How can I change php value upload_max_filesize in shared webhosting?', 'How can I change php value max_input_vars in shared webhosting?', 'How can I change php value max_execution_time in shared webhosting?', 'How can I change php value max_input_time in shared webhosting?' and many more by configuring or changing php.ini or .htaccess file. I tried to change them but problems arose. Finally I contacted my hosting provider, and it turns out that I set my php to native, they changed it to php 5.6, here is their answer:

'Your PHP was set to 'native' mode which means you can't override those values. I've changed you to just '5.6' so you should be good to go.'

After that I connected my website through ftp Filezilla, also don't forget to make both your ftp service to show hidden files, and your local computer to do so, because .htaccess file was hidden in my local laptop and in my website. It was available in public_html folder, I just downloaded it and added the following codes to the end of the file and then uploaded it back to the server:

Everything is working properly for the time being, if any of you overcome with some problems please write here and warn me so that I can change the above-shown codes. By the way, I also upload some pictures which shows the change.

One more thing I almost forgot to mention ZipArchive installation on your shared webhosting service, I managed that requirement to tick by just going to php settings through my cpanel, click on php selector extensions and then tick zip section, that's all.

Thanks.

PS: I'm open to good practices, and if you see any bad practice here please let me know, I'll try to change them. Thanks.

garakchygarakchy

many times i have noticed that site wit shared hosting do not allow to change settings in php.ini files. one also can not even crate .htaaccess file at all. in such situation one can try following things

The EasyLearn AcademyThe EasyLearn Academy

the answers are a bit incomplete, 3 things you have to do

in php.ini of your php installation (note: depending if you want it for CLI, apache, or nginx, find the right php.ini to manipulate. For nginx it is usually located in /etc/php/7.1/fpm where 7.1 depends on your version. For apache usually /etc/php/7.1/apache2)

or set other values. Restart/reload apache if you have apache installed or php-fpm for nginx if you use nginx.

Php Upload File Server Side Includes

ToskanToskan
5,8768 gold badges59 silver badges109 bronze badges

Non of those solutions work for me!! (already set to 32M by default).The problem is in most case max_allowed_packet

I am working on localhost and using MAMP.

Here is solutions;

1. If you don't have my.ini

Add

To

2. If you have my.ini

Under

Add

DONE!

ErcanEErcanE
9481 gold badge13 silver badges24 bronze badges

Perhaps this should be a comment to @seanb123 and @Fredrick Gauss commenting on his comment, but for me in Drupal 8.1 with PHP 7 the file I needed to modify was located here:

I modded probably four other php.ini files, including the one my system called the 'Loaded Configuration File' (php -i grep -i 'loaded configuration file') and the one found on the info.php page but none of them helped. The key to discovering the correct path was found on a site from 2012. They said the path '/etc/php5/apache2/php.ini' was deprecated even BACK THEN but it gave me a clue where to find it. For PHP7 it's a little different than in PHP5 but the concept is the same.

Maybe this will help some otherwise helpless schmuck like myself.

That being said, the answer to the OP in my case would be that someone with admin privileges on the box would have to do it.

The site that helped me: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/

This is also addressed here: Import file size limit in PHPMyAdmin

EDIT:the full text of my note to myself:

In order to change the max upload size, edit upload_max_filesize and [if needed?] post_max_size in /etc/php/7.0/apache2/php.ini (or in older versions: /etc/php5/apache2/php.ini )

/etc/init.d/apache2 restart

EDIT AGAIN:since you're importing big files you may need to change the timeout for processing them. In my case, the file named, 'config.default.php' was found at /usr/share/phpmyadmin/libraries/config.default.php with the variable $cfg['ExecTimeLimit'] = 300;I changed mine to 900 for a huge import, for instance.Afterward you need to restart apache

seizethecarpseizethecarp

Three things you need to check.

upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file exactly.

All of these three settings limit the maximum size of data that can be submitted and handled by PHP.

Php Upload File Size Limit

Typically post_max_size and memory_limit need to be larger than upload_max_filesize.

So three variables total you need to check to be absolutely sure.

prosti

Php Upload File Mysql

prosti
10.5k2 gold badges43 silver badges48 bronze badges

With WAMP it's all pretty easy

WAMP Icon > PHP > PHP Settings > upload_max_filesize = nM > n = (2M, 4M, 8M, 16M, 32M, 64M, 128M, 256M, 512M, or Choose (custom)).

Service(s) reload automatically.

But, if you truly have no access to the server, you might want to explore writing a chunking API.

Php Upload File Server Side Work

Razi Tiwana
1,2092 gold badges9 silver badges14 bronze badges
SimonBSimonB

protected by CommunitySep 27 '13 at 15:20

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged php or ask your own question.