hi i've created a script for users to upload images. but i keep getting this error.
fopen() [function.fopen]: Filename cannot be empty
this is the script.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<?php
$thisfile="uploadpic.php";
$form = <<<FORM
<form action="$thisfile" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="25000"> Choose an image to upload: <input type="file" name="photo">
<br/>
<input type="submit" name="submit" value="Upload Image">
</form>
FORM;
if (isset($_POST['submit']))
{$fileName = $_FILES['photo']['name'];
$tmpName = $_FILES['photo']['tmp_name'];
$filesize = $_FILES['photo']['size'];
$filetype = $_FILES['photo']['type'];
if(!isset($_FILES['photo']))
{$messgae = "Please select an image to upload.";}
elseif($_FILES['photo']['size'] >= 500000)
{$message = "Your image is too large. Please keep the image size under 500kb.";}
else
{$fp = fopen($tmpname, 'r');
$photo = fread($fp, $filesize);
$photo = mysql_real_escape_string($photo);
fclose($fp);
$query= "UPDATE databse
SET photo = '$photo'
WHERE email = '$email'";
$result = mysql_query($query);
if (mysql_affected_rows() == 1)
{$message = "Your photo has been uploaded.";}
else
{$message = 'There was an error. Your photo has not been uploaded.';}
}
}
else
{$message = $form;}
?>
</head>
<body>
<h1>Profile picture</h1>
<?php echo $message; ?>
</body>
</html>
fopen() [function.fopen]: Filename cannot be empty
this is the script.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<?php
$thisfile="uploadpic.php";
$form = <<<FORM
<form action="$thisfile" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="25000"> Choose an image to upload: <input type="file" name="photo">
<br/>
<input type="submit" name="submit" value="Upload Image">
</form>
FORM;
if (isset($_POST['submit']))
{$fileName = $_FILES['photo']['name'];
$tmpName = $_FILES['photo']['tmp_name'];
$filesize = $_FILES['photo']['size'];
$filetype = $_FILES['photo']['type'];
if(!isset($_FILES['photo']))
{$messgae = "Please select an image to upload.";}
elseif($_FILES['photo']['size'] >= 500000)
{$message = "Your image is too large. Please keep the image size under 500kb.";}
else
{$fp = fopen($tmpname, 'r');
$photo = fread($fp, $filesize);
$photo = mysql_real_escape_string($photo);
fclose($fp);
$query= "UPDATE databse
SET photo = '$photo'
WHERE email = '$email'";
$result = mysql_query($query);
if (mysql_affected_rows() == 1)
{$message = "Your photo has been uploaded.";}
else
{$message = 'There was an error. Your photo has not been uploaded.';}
}
}
else
{$message = $form;}
?>
</head>
<body>
<h1>Profile picture</h1>
<?php echo $message; ?>
</body>
</html>
Last edited: