Current Location: Home> Latest Articles> How to Implement Image Upload Functionality on a Website Using PHP and Typecho

How to Implement Image Upload Functionality on a Website Using PHP and Typecho

M66 2025-06-23

How to Implement Image Upload Functionality on a Website Using PHP and Typecho

In today's social media-driven world, sharing images has become a popular way to interact online. Implementing an image upload feature on your website not only enhances user experience but also encourages more engagement. In this article, we will guide you through setting up an image upload feature using PHP and Typecho.

Typecho is an open-source PHP blogging platform, widely popular for its simplicity and ease of use. It is well-suited for personal blogs and small websites and offers a variety of plugins and themes. By combining PHP with Typecho, we can easily add an image upload feature to a Typecho-based website.

Step 1: Create a Custom Page Template

First, log into the Typecho admin panel, go to the "Appearance -> Custom Pages" section, and click the "New" button to create a custom page titled "Image Upload". Then, paste the following code into the template of the custom page:


  <?php
  if ($_FILES) {
      $file = $_FILES['file'];
      $uploadDir = './usr/uploads/';
      
      // Check if the upload directory exists, create it if not
      if (!file_exists($uploadDir)) {
          mkdir($uploadDir, 0755, true);
      }
      
      // Generate a unique filename for the uploaded file
      $fileName = uniqid() . '.' . pathinfo($file['name'], PATHINFO_EXTENSION);
      $filePath = $uploadDir . $fileName;

      // Save the uploaded file to the specified directory
      if (move_uploaded_file($file['tmp_name'], $filePath)) {
          $fileUrl = Typecho_Common::url($filePath, $this->options->rootUrl);
          echo 'Upload successful! Image link: <a href="' . $fileUrl . '" target="_blank">' . $fileUrl . '</a>';
      } else {
          echo 'Upload failed! Please try again.';
      }
  }
  ?>
  

Step 2: Create an Upload Form

The code above implements the backend image upload functionality. Next, we need to create a form on the frontend so that users can upload their images. In the Typecho admin panel, go to "Write -> Content" and create a new post. Set the content of the post to "File Upload" or any other title you prefer.

In the content of the post, insert a link to the upload page you just created. For example, add the following code to the article content:


  <a href="<?php echo $this->options->siteUrl(); ?>index.php/upload">Click here to upload an image</a>
  

Step 3: Publish and Access the Upload Page

Once the post is published, visit the article page. By clicking the upload link, users will be redirected to the image upload page, where they can upload their images.

Additional Features

The above code provides basic image upload functionality. If you want to implement more advanced features, such as image compression, limiting allowed file types, or adding watermarks, you can extend the logic within the code as needed.

Conclusion

By using PHP and Typecho, you can easily implement an image upload feature on your website, allowing users to share their images effortlessly. We hope this code example helps you build your own image upload functionality.