Hello php-general,
I'm trying to figure out why I can't upload any file in php.
Form code
========
<form name="photoform" action="photos.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="40960">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td colspan="2" class="emphasis">Use this form to upload your new photographs. Note:
only JPEG (.jpg) and PNG (.png) files allowed. Maximimum allowed file size is
40KB.</td>
</tr>
<tr>
<td>Photograph: </td>
<td><input type="file" name="photo" /></td>
</tr>
<tr>
<td>Description: </td>
<td>
<textarea name="photodesc" rows="3" cols="30"><?php echo $_POST["photodesc"]
?></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="fileupload" value="Upload"
/></td>
</tr>
</table>
</form>
PHP code
=======
<?php
if ($_POST["fileupload"] == "Upload") {
$errormsg = "";
$photospath ="/home/freeman/upload";
$filename = $_FILES['photo']['name'];
$filetype = $_FILES['photo']['type'];
$filesize = (int) $_FILES['photo']['size'];
if ($filetype == "image/jpeg" || $filetype == "image/pjpeg" || $filetype ==
"image/png" || $filetype == "image/x-png") {
if ($filesize < 40960 && $filesize > 0) {
$storename = $uniqueid = md5 (uniqid (rand));
if ($filetype == "image/jpeg" || $filetype == "image/pjpeg") $storename .= ".jpg";
if ($filename == "image/png" || $filetype == "image/x-png") $storename .= ".png";
$desc = $_POST["photodesc"];
// Store the file in the photos folder and add record to database
if (is_uploaded_file ($_FILES['photo']['tmp_name'])) {
if (!@move_uploaded_file ($_FILES['photo']['tmp_name'], $photospath.$storename)) {
$errormsg .= " Problem uploading the file. Please try again. If the problem persists
please email [EMAIL PROTECTED] to report the error.";
} else {
@chmod ($photospath.$storename, 0644);
$sql = "INSERT INTO hcs_photos (clientID,photoName,photoTitle,uploadTimeStamp) VALUES
('". $_SESSION["clientID"] ."','$storename','$desc','$timestamp')";
$db->Query ($sql, $conn);
}
} else {
$errormsg .= "Possible file upload attack. Filename: ". $_FILES['photo']['name'];
}
} else {
$errormsg .= "Invalid file size. Maximum of 40KB allowed";
}
} else {
$errormsg .= "Invalid file type. Only JPEG and PNG files allowed";
}
if (strlen ($errormsg) < 5) {
header ("Location: ". $baseurl ."photos.php");
}
}
?>
When I upload a file I get
$filesize equal to 0.
In my php.ini i got the following section:
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "/tmp"
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
Please help. PHP even does not create a temp file in a temp directory.
/tmp got permission 777
I'm running Apache 2.0.43 and RedHat Linux
--
Best regards,
Submission.org.ru mailto:[EMAIL PROTECTED]
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php