Jump to content

PHP help - Working with Files and Directories


dragonscrapper

Recommended Posts

I need some help. I am trying to do an assignment, but I am getting nowhere.

 

It says to create a Web Form for uploading pictures for a high school reunin. The form should have text input fields for the person's name and a description of the image, and a file input field for the image. To accompany each image file, create a text file that contains the name and description of the image. Create a separate Web page that displays the pictures with a caption showing the name and description fields. Ensure that the Projects directory has read and write permissions for everyone.

 

The HTML I have is:

 

<form action="" method="post" enctype="multipart/form-data"
name="uploadImage" id="uploadImage">
<p>
  <input type="hidden" name="MAX_FILE_SIZE"
    value="<?php echo MAX_FILE_SIZE; ?>" />
  <label for="image">Upload image:</label>
  <input type="file" name="image" id="image" />
</p>
<p>
  <input type="submit" name="upload" id="upload"
value="Upload" />
</p>
</form>
 

The PHP I have is:

 

<?php

define ('MAX_FILE_SIZE', 1024 * 50);

if (array_key_exists('upload', $_POST)) {

  define('UPLOAD_DIR', '/path/to/images/');

  $file = str_replace(' ', '_', $_FILES['image']['name']);

  $permitted = array('image/gif', 'image/jpeg', 'image/pjpeg',
'image/png');
 

  if (in_array($_FILES['image']['type'], $permitted)
      && $_FILES['image']['size'] > 0
      && $_FILES['image']['size'] <= MAX_FILE_SIZE) {
    switch($_FILES['image']['error']) {
      case 0:

        if (!file_exists(UPLOAD_DIR . $file)) {

          $success =
move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR .
$file);
        } else {
          $result = 'A file of the same name already exists.';
        }
        if ($success) {
          $result = "$file uploaded successfully.";
        } else {
          $result = "Error uploading $file. Please try again.";
        }
        break;
      case 3:
      case 6:
      case 7:
      case 8:
        $result = "Error uploading $file. Please try again.";
        break;
      case 4:
        $result = "You didn't select a file to be uploaded.";
    }
  } else {
    $result = "$file is either too big or not an image.";
  }
}
?>

 

It is not working properly. The html file will load but when I click Submit, it just clears the field and refreshes the page. I am very much a beginner to php so I am in no way a professional. Can someone help me please?

 

Also, how would I do the second web page to list the pics?

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.