close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Limit the possibility of uploading files based on the extension

Thread began 11/18/2018 10:56 am by María Luisa | Last modified 11/24/2018 2:59 pm by Ray Borduin | 1529 views | 10 replies |

María Luisa

Limit the possibility of uploading files based on the extension

Hello
I'm working on a file upload form. The files that are valid in this case can be of different types: .doc, .docx, .jpg, .jpeg, .pdf, .xls, .xlsx, .zip and .rar.

I have programmed the form with the help of WA (File Manipulation) and, also, I have managed to get the entered data (name of the file, user, etc) registered in the database.

However I do not see in helperphp.php the possibility of limiting the file types to those that I need. That is: .doc, .docx, .jpg, .jpeg, .pdf, .xls, .xlsx, .zip and .rar.

Can you help me?
Thank you

Sign in to reply to this post

Ray BorduinWebAssist

You can use our "Server Validation" server behavior. It has a "file extension" validation and you can use the field from the form to validate against.

Sign in to reply to this post
Did this help? Tips are appreciated...

María Luisa

Thanks, Ray. I will prove it

Sign in to reply to this post

María Luisa

Hello:
I have included the validation of the server, however it does not work. I guess I've done something wrong.
The form has stopped uploading and clicking the Submit button gives me a warning whether the file extension is correct or not.

Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/PML_4_2015_repar_prueba_ED_MSB/pml_admin/Gestiondocumentos.php:2) in /Applications/MAMP/htdocs/PML_4_2015_repar_prueba_ED_MSB/webassist/form_validations/wavt_scripts_php.php on line 85

What have I done wrong?
I attach my upload form

Thank you

Sign in to reply to this post

María Luisa

And the validation by file size?

And the validation by file size?

I'm looking on the web and I can not find how to put the maximum size limit of my files in 2 MB.

Greetings and thank you

Sign in to reply to this post

Ray BorduinWebAssist

Sorry I’m taking so long to reply. I’m on vacation and my laptop died. I should have it resolved by tomorrow so I can open your file and take a look to find out what is wrong and comment on file size validation.

Sign in to reply to this post
Did this help? Tips are appreciated...

María Luisa

Thank you, Ray

Sign in to reply to this post

Ray BorduinWebAssist

To validate the file size, use Integer type validation on the "size" attribute of the uploaded file. The value will be in bytes, so you would validate that the file size is less than: 2000000 for 2MB.

The final validation code will look something like:

php:
<?php 

if ($_SERVER["REQUEST_METHOD"] === "POST")  {
  
$WAFV_Redirect "Gestiondocumentos.php";
  
$_SESSION['WAVT_Gestiondocumentos_361_Errors'] = "";
  if (
$WAFV_Redirect == "")  {
    
$WAFV_Redirect $_SERVER["PHP_SELF"];
  }
  
$WAFV_Errors "";
  
$WAFV_Errors .= WAValidateFE(((isset($_FILES["nombre_doc"]))? preg_replace('/^.*\./'''$_FILES["nombre_doc"]["name"]) :"") . "",".jpg, .jpeg, .doc, .docx, .xls, .xlsx, .pdf, .zip, .rar",true,1);
  
$WAFV_Errors .= WAValidateNM(((isset($_FILES["nombre_doc"]))? preg_replace('/^.*\./'''$_FILES["nombre_doc"]["size"]) :"0") . "",0,2000000,"",",.",true,2);

  if (
$WAFV_Errors != "")  {
    
PostResult($WAFV_Redirect,$WAFV_Errors,"Gestiondocumentos_361");
  }
}
?>
Sign in to reply to this post
Did this help? Tips are appreciated...

Ray BorduinWebAssist

The first error is because you added this to the top of the page:

<!--Codigo_nuevo-->



HTML comments need to be in the html... to do a php comment use:

php:
<?php //Codigo_nuevo ?>


You also can't have blank lines before a redirect in php. So make sure to remove the blank lines on lines: 15,40 and 59 and update the other HTML comments above the <html> tag to use php comments instead.

I'd also remove the line:

php:
<?php

ob_start
();
?>



The validation isn't working because you used the Binding for "file extension"... it is a bit confusing I know, but you should use "client file name". The validation looks for the "." before the extension to validate against and the "file extension" binding removes the ".".

Sign in to reply to this post
Did this help? Tips are appreciated...

María Luisa

Thank you, Ray.
I'm going to try it

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...