Jump to content

[SOLVED] upload image, always error


dachshund

Recommended Posts

i have the following code for uploading an image.

 

but for some reason it always returns as "Error: A problem occurred during file upload!"

 

can anyone spot where i'm going wrong. i'm sure it's very simple and i'm just being blind.

 

 


<?php

include "../template/header.php";


//Сheck that there is a file
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
  //Check if the file is JPEG image and it's size is less than 350Kb
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);
  if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && 
    ($_FILES["uploaded_file"]["size"] < 350000)) {

// random 4 digit to add to the file name 
// some people use date and time in stead of random digit 
$random_digit=rand(0000,9999);

//user

$userid = $_SESSION['uid'];
  $query = "SELECT * FROM users WHERE id = '$userid'";
  $result = mysql_query($query);
  $row = mysql_fetch_assoc($result);

//combine random digit to the file name to create new file name
//use dot (.) to combile these two variables

$newfilename=$random_digit.$filename;
    //Determine the path to which we want to save this file
      $newname = dirname(__FILE__).'../images/upload/'.$row['id'].$newfilename;
      //Check if the file with the same name is already exists on the server
      if (!file_exists($newname)) {
        //Attempt to move the uploaded file to it's new place
        if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'].$newname))) {
           echo "It's done! The file has been saved as: ".$newfilename;
        } else {
           echo "Error: A problem occurred during file upload!";
        }
      } else {
         echo "Error: File ".$_FILES["uploaded_file"]["name"]." already exists";
      }
  } else {
     echo "Error: Only .jpg images under 350Kb are accepted for upload";
  }
} else {
echo "Error: No file uploaded";
}

include "../template/footer.php";
?>

 

Link to comment
Share on other sites

ok cheers, that works.

 

after fixing the upload problem. it's somehow back.

 

i get "Error: A problem occurred during file upload! /homepages/46/d193566068/htdocs/phptesting/images/upload/11/profilepicture.jpg"

 

that directory is right so i can't work out what it is.

 

here's my code.

 

 


<?php

include "../template/header.php";


//Сheck that we have a file
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
  //Check if the file is JPEG image and it's size is less than 350Kb
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);
  if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && 
    ($_FILES["uploaded_file"]["size"] < 350000)) {

//user

$userid = $_SESSION['uid'];
  $query = "SELECT * FROM users WHERE id = '$userid'";
  $result = mysql_query($query);
  $row = mysql_fetch_assoc($result);

    //Determine the path to which we want to save this file
      $parts = explode("/", dirname(__FILE__));
     unSet($parts[(count($parts) - 1)]);


      $newname = implode("/", $parts) . '/images/upload/' . $row['id']  . '/' . $filename;
      //Check if the file with the same name is already exists on the server
      if (!file_exists($newname)) {
        //Attempt to move the uploaded file to it's new place
        if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'].$newname))) {
           echo "It's done! The file has been saved as: ".$filename;
        } else {
           echo "Error: A problem occurred during file upload!" .' ' .$newname;
        }
      } else {
         echo "Error: File ".$_FILES["uploaded_file"]["name"].$newname." already exists";
      }
  } else {
     echo "Error: Only .jpg images under 350Kb are accepted for upload";
  }
} else {
echo "Error: No file uploaded";
}

include "../template/footer.php";
?>

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.