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
https://forums.phpfreaks.com/topic/170548-solved-upload-image-always-error/
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";
?>

 

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.