Uploading Filetypes and placing them in seperate folders.
Posted on
16th Feb 2014 07:03 pm by
admin
Hello,
first post , and asking for help im afraid. Very new to PHP, was making good progress I thought , but im stuck with this part. I have a uploading form that works perfectly and uploads everything to "uploads/images" . What Im trying to do is upload .txt or .rtf files to "uploads/text" and .jpg and .gif's to "uploads/images . I thought this wasnt going to be too difficult but im totally stuck and have spent hours trying to solve this. If anyone could help at all and show my what I'm doing wrong, Id be very very grateful!
This is the code as it stands. Right now, it ALWAYS goes to "uploadfail.php" and the file does not upload. If I remove all the code relating to filetype then both the text and image files succesully upload and I go to "uploadsucess.php"
Code: <?
require('connection.php');
//my_sql_real..... makes it safe against mysql injection
$title = mysql_real_escape_string($_POST['title']);
$date = mysql_real_escape_string($_POST['date']);
$author = mysql_real_escape_string($_POST['author']);
$description = mysql_real_escape_string($_POST['description']);
$type = mysql_real_escape_string($_POST['type']);
$imgName = $_FILES['pic']['name'];
$imgTmp = $_FILES['pic']['tmp_name'];
$imgSize = $_FILES['pic']['size'];
$imgType = $_FILES['pic']['type'];
$maxFileSize = 200000;
if ($imgType == "image/jpeg" || $imgType == "image/gif" || $imgType == "application/rtf" || $imgType == "application/x-rtf" || $imgType == "text/richtext" || $imgType == "text/plain" ) {
$error = "";
} else {
$error = "type";
}
if ($imgType == "image/jpeg" || $imgType == "image/gif" ) {
$filetype = "image";
}
if ($imgType == "application/rtf" || $imgType == "application/x-rtf" || $imgType == "text/richtext" || $imgType == "text/plain" ) {
$filetype = "text";
} else {
$filetype = "other";
}
if ($imgSize > $maxFileSize) {
$error = "size";
}
if ($error == "" && $imgName != "" && $filetype == "image" ) {
$filePath = "uploads/images/".$imgName;
move_uploaded_file($imgTmp, $filePath);
if ($error == "" && $imgName != "" && $filetype == "text" ) {
$filePath = "uploads/text/".$imgName;
move_uploaded_file($imgTmp, $filePath);
//another securtiy measure sprintf
$query = sprintf("INSERT INTO gallery(title,date,author,type,description,path) VALUES ('%s' , '%s' ,'%s' ,'%s' ,'%s' ,'%s' )", $title,$date,$author,$type,$description,$filePath);
if (!mysql_query($query, $connect)) {
die();
} else {
header("Location: uploadsuccess.php");
}
}
} else {
header("Location: uploadfail.php");
}
?>
No comments posted yet
Your Answer:
Login to answer
271
42
Other forums
Install page
How do I make it so when a user submits information on the Install page, it'll right it into the cor
problem in pagination when processing with selectbox form
Hi,
I have a search form, with select boxes, if am selecting the value from the form, it work
Beginners syntax and loop questions - help please!
Hi everyone,
I have some problems with php code. I'm currently in the middle of learning php,
Slow data retrieval which requires improvement..please help
I am working on a Help Desk Ticketing system and have a page called MY TICKETS which shows all ticke
passing an array of objects after submit
How do I do this? This is what I have tried and it is not working.
<form method="
Accessing element of object array
Hello
My object looks like this:
Array ( [0] => User Object ( [id] =>
Displaying image pathname instead of image
Hello
Im trying to upload and then display images from a mysql database - Its only basic and
Extra fields in main body and php required.
I'm new to PHP so please be gentle. I have a little php script below that works well.
The &quo
Limiting uploaded file type
Hi. First post here
I am working on a simple upload script, and I need it to limit the allowed f
How to display objects in a row
I have 7 codes that i want to display in a row one next to another.
The first is {$ads->ad