Solved

Limit PHP Uploaded Files to CSV

Posted on 2008-09-30
2
335 Views
Last Modified: 2013-12-12
How can you limit & verify that an uploaded file is a .csv file using PHP.  Using the code for  
//This Works

if (!($uploaded_type=="image/gif")) {

echo "You may only upload .Gif files.<br>";

$ok=0;

} 

//This is ineffective

if (!($uploaded_type=="text/txt")) {

echo "You may only upload .CSV files.<br>";

$ok=0;

}

Open in new window

0
Comment
Question by:ITApprendista
2 Comments
 
LVL 48

Assisted Solution

by:hernst42
hernst42 earned 100 total points
ID: 22611405
Depending on the install the type might be "text/csv" and "text/comma-separated-values" But the best would be to look into the file, parse the first line and check the content
0
 
LVL 2

Accepted Solution

by:
idealws earned 400 total points
ID: 22611470
The below code will check to make sure the file has the .csv extension only if not it will print a error. If it does then it is uploaded and moved to the directory specified in the $datadir variable. You can then proceed to do what you need after the file is uploaded.
// Directory to upload to

$datadir = "data/";

// Lets get the file name

$uploadfile = $datadir.$_FILES['userfile']['name'];

$ext = strrchr($_FILES['userfile']['name'],'.');

if($ext != ".csv") {

    echo "Only CSV files are allowed to be uploaded";

    $error = 1;

}else{

    // Ad your upload code here

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {

        // If this file is moved (uploaded do this

    }

}

Open in new window

0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now