Hello,
I am new to Daniweb and am I glad I found it, there is so much helpful information here for a newbie programer.
This is my error message:
Parse error: parse error, unexpected T_STRING, expecting T_CASE or T_DEFAULT or '}' in C:\wamp\www\helen\upload.php on line 17
This is my story:
I am building a database for a realestate agent and it needs to be able to upload images to the database. Being green at this I have had a heck of a time finding tutorials that make sense to me regarding uploading files to the database so this is what I have done, please tell me if there is a better way. I am using PHP and I have an 'add.php' page where you would fill in your information and there is a browse button to browse to your image file,
here is the code for the button,

<td><input type="hidden" name="MAX_FILE_SIZE" value="100000" size="32" />
       <input name="userfile" type="file" /></td>

I have another page called 'upload.php' that apparently is the page that processes the file information and places it in the database? (I think this is right?)
Here is the code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>uploading</title>
</head>
<body>
<h1>Uploading file</h1>
<?php


if ($_FILES['userfile']['error'] > 0)
{
  echo 'Problem: ';
  switch ($_FILES['userfile']['error'])
  {
   case1: echo 'File exceeded upload_max_filesize'; break;  ->THIS IS LINE 17<-
   case2: echo 'File exceeded max_filesize'; break;
   case3: echo 'File only partially uploaded'; break;
   case4: echo 'No file uploaded'; break;
  }
 exit;
}

if ($_FILES['userfile']['type'] != 'image/gif''image/jpg')
{
	echo 'Problem:image must be .gif or .jpg';
		exit;
}

$upfile= '/uploads/'.$_FILES['userfile']['name'];

if (is_uploaded_file($_FILES['userfile']['tmp_name']))
	if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
		{
			echo 'Problem: Could not move file to destination directory';
			exit;
		}
	}
	else
	{
		echo 'Problem: Possible file upload attack. Filename: ';
		echo $_FILES['userfile']['name'];
		exit;
	}
	
	echo 'File uploaded successfully<br><br>';
	
	$fp = fopen($upfile, 'r');
	$contents = fread ($fp, filesize ($upfile));
	fclose ($fp);
	
	$contents = strip_tags($contents);
	$fp = fopen($upfile, 'w');
	fwrite($fp, $contents);
	fclose($fp);
	
	echo 'Preview of uploaded images:<br><br>';
	echo $contents;
	echo '<br><br>';
	?>



</body>
</html>

I have been reading posts from others that have been having similar problems and it seems that it is usually a spelling error or a semicolon is missing but I can't seem to find the error.
And I am wondering if this is even the right way about uploading images.

Incase it is important the information in the data base for the image field is:
Field:thumb1
Type:mediumblob
Attributes:binary
Null:no


Thanks for your help, I feel like this php sql stuff will never make sense.

Cheers!

Recommended Answers

All 6 Replies

try the case statements like this:

case'1': echo 'File exceeded upload_max_filesize'; 
break; 
case'2': echo 'File exceeded max_filesize'; 
break;
case'3': echo 'File only partially uploaded'; 
break;
case'4': echo 'No file uploaded';
 break;

There should be a space between case and 1 and add a newline after the semi-colon
as suggested by JeniF

.i.e

case 1: 
	echo 'File exceeded upload_max_filesize'; 
	break;

Also check the type returned by $_FILES
and use 1 or '1' accordingly.

HI thanks,
but that didn't work, I tried it both ways and now my error is:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\helen\upload.php on line 29

Line 29 is:

if ($_FILES['userfile']['type'] != 'image/gif''image/jpg')

Is this in your opinions the way to upload image files using a browse button?

I appreciate your time so far, please don't leave me yet!!!

Thanks

Your switch problem is fixed.
You just have a bug online 29
trie

if(strpos('*image/gif image/jpg', $Files[' file1']['type']))  {

Thanks but it hasn't worked so far,
Here are the new error messages:

Uploading file

Warning: move_uploaded_file(/uploads/Lake View.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\helen\upload.php on line 39

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'c:/wamp/tmp\php24A.tmp' to '/uploads/Lake View.jpg' in C:\wamp\www\helen\upload.php on line 39
Problem: Could not move file to destination directory

At least I am getting the uploading file message?

Any further help is still greatly appreciated.

Check the directory permissions in the folder uploads where the file is to be uploaded?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.