payney Posted January 14, 2008 Share Posted January 14, 2008 Hi guys, all I want to do is make sure that the uploaded file is a CSS file extention, I cant seem to do it. This is my code: <?php $target = "photo/"; $target = $target . basename( $_FILES['uploaded']['name']) ; $ok=1; $stylesheet = $stylesheet . basename( $_FILES['uploaded']['name']); $uploaded_type = $_FILES['uploaded']['type']); $name = $_POST['name']; //This is our size condition if ($uploaded_size > 100000) { echo "Your file is too large.<br>"; $ok=0; } //This is our limit file type condition if ($uploaded_type != "css") { echo "No CSS files<br>"; $ok=0; } //Here we check that $ok was not set to 0 by an error if ($ok==0) { Echo "Sorry your file was not uploaded"; exit; } //If everything is ok we try to upload it else { if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else { echo "Sorry, there was a problem uploading your file."; $ok = 0; exit; } } if ($ok == 1) { //then do the inserting etc..... Please help guys S Quote Link to comment Share on other sites More sharing options...
adam291086 Posted January 14, 2008 Share Posted January 14, 2008 try doing this to work out the file type $file_type= $_FILES["file"]["name"]; $extention = strtolower(end(explode('.', $file_type))); if ($extention != 'css') { echo "invalid file type"; } Quote Link to comment Share on other sites More sharing options...
dooper3 Posted January 14, 2008 Share Posted January 14, 2008 You need to replace "css" with the mime type for css files which is "text/css". Quote Link to comment Share on other sites More sharing options...
payney Posted January 14, 2008 Author Share Posted January 14, 2008 Neither solutions work. Both state incorrect file type, whatever I try an upload. Quote Link to comment Share on other sites More sharing options...
payney Posted January 14, 2008 Author Share Posted January 14, 2008 Anyone? Sorry for been inpatient, I need to hand this work in about 2 hours Quote Link to comment Share on other sites More sharing options...
adam291086 Posted January 14, 2008 Share Posted January 14, 2008 try this $target = "photo/"; $target = $target . basename( $_FILES['uploaded']['name']) ; $ok=1; $stylesheet = $stylesheet . basename( $_FILES['uploaded']['name']); $name = $_POST['name']; //This is our size condition if ($uploaded_size > 100000) { echo "Your file is too large."; $ok=0; } //This is our limit file type condition $file_type= $_FILES["file"]["name"]; $extention = strtolower(end(explode('.', $file_type))); if ($extention != 'css') { echo "invalid file type"; $ok=0; } //Here we check that $ok was not set to 0 by an error if ($ok==0) { Echo "Sorry your file was not uploaded"; exit; } //If everything is ok we try to upload it else { if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else { echo "Sorry, there was a problem uploading your file."; $ok = 0; exit; } } if ($ok == 1) { //then do the inserting etc..... Quote Link to comment Share on other sites More sharing options...
payney Posted January 14, 2008 Author Share Posted January 14, 2008 Still saying incorrect file type. This is what i am uploading C:\Documents and Settings\Sam\My Documents\green_styles.css Quote Link to comment Share on other sites More sharing options...
dooper3 Posted January 14, 2008 Share Posted January 14, 2008 That doesn't help us, we can't see the file as it's on YOUR computer. Quote Link to comment Share on other sites More sharing options...
adam291086 Posted January 14, 2008 Share Posted January 14, 2008 are you sure the file is even being uploaded echo out this $file_type= $_FILES["file"]["name"]; echo $file_type; Quote Link to comment Share on other sites More sharing options...
dooper3 Posted January 14, 2008 Share Posted January 14, 2008 May be a silly question, but do you actually have a web server and php installed on your machine? I only ask because you have the css file in your "my documents" folder... If not, then there's zero chance of ANY php script working. Quote Link to comment Share on other sites More sharing options...
payney Posted January 14, 2008 Author Share Posted January 14, 2008 Adam. There was no result from that echo, which kinda solved my problem. I needed: $file_type= basename.($_FILES['uploaded']['name']); Instead of: $file_type= $_FILES["file"]["name"]; dooper: The Hosting provide php on their server. Quote Link to comment Share on other sites More sharing options...
dooper3 Posted January 14, 2008 Share Posted January 14, 2008 ok, sorry to ask payney! just checking lol. Quote Link to comment Share on other sites More sharing options...
payney Posted January 14, 2008 Author Share Posted January 14, 2008 No probs BTW, do I do the same for images? Would it be like this: if ($extention != 'jpg'||'gif') { echo "invalid file type"; $ok=0; } BTW, this dosnt work haha Quote Link to comment Share on other sites More sharing options...
adam291086 Posted January 14, 2008 Share Posted January 14, 2008 yeah that is correct. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.