Re: Strange file upload problem in php 4.2.3
| From: | theheadsage at manga-sketchbook dot org | Date: | Thu, 09 Jan 2003 02:11:12 +0000 |
| Subject: | Re: Strange file upload problem in php 4.2.3 | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-130845@lists.php.net to get a copy of this message | ||
Try using the $_files['photo']['error'] variable to see if the file is acutaly
being
uploaded correctly. I had the same problem on Windows XP, but i discovered the
file was only half-uploaded using this.
- Daniel "TheHeadSage" Spain
Founder of Voidsoft.
theheadsage@manga-sketchbook.org
~ Manga Sketchbook, the best Manga Scanlation group! ~
On 8 Jan 2003 at 21:35, Submission.org.ru Team wrote:
> 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 support@huntclubservices.com 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:freeman@submission.org.ru
>
>
>