Jump to content

Search the Community

Showing results for tags 'php class oop post vars'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to PHP Freaks
    • Announcements
    • Introductions
  • PHP Coding
    • PHP Coding Help
    • Regex Help
    • Third Party Scripts
    • FAQ/Code Snippet Repository
  • SQL / Database
    • MySQL Help
    • PostgreSQL
    • Microsoft SQL - MSSQL
    • Other RDBMS and SQL dialects
  • Client Side
    • HTML Help
    • CSS Help
    • Javascript Help
    • Other
  • Applications and Frameworks
    • Applications
    • Frameworks
    • Other Libraries
  • Web Server Administration
    • PHP Installation and Configuration
    • Linux
    • Apache HTTP Server
    • Microsoft IIS
    • Other Web Server Software
  • Other
    • Application Design
    • Other Programming Languages
    • Editor Help (PhpStorm, VS Code, etc)
    • Website Critique
    • Beta Test Your Stuff!
  • Freelance, Contracts, Employment, etc.
    • Services Offered
    • Job Offerings
  • General Discussion
    • PHPFreaks.com Website Feedback
    • Miscellaneous

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Age


Donation Link

Found 1 result

  1. Hi, Can someone tell me how to access POST VARS from within the following class. I'm passing in a project_id along with the file upload part but I can't seem to access it. the file upload part works perfect, I'm just in the last stage of recording it to mysql database and am missing the project_id. The form is posting and is a multipart form data. Thanks. <?php session_start(); include("dblink.php"); class BigUpload { /** * Temporary directory for uploading files */ const TEMP_DIRECTORY = '../files/tmp/'; /** * Directory files will be moved to after the upload is completed */ const MAIN_DIRECTORY = '../files/'; /** * Max allowed filesize. This is for unsupported browsers and * as an additional security check in case someone bypasses the js filesize check. * * This must match the value specified in main.js */ const MAX_SIZE = 2147483648; /** * Temporary directory * @var string */ private $tempDirectory; /** * Directory for completed uploads * @var string */ private $mainDirectory; /** * Name of the temporary file. Used as a reference to make sure chunks get written to the right file. * @var string */ private $tempName; /** * Constructor function, sets the temporary directory and main directory */ public function __construct() { $this->setTempDirectory(self::TEMP_DIRECTORY); $this->setMainDirectory(self::MAIN_DIRECTORY); } /** * Create a random file name for the file to use as it's being uploaded * @param string $value Temporary filename */ public function setTempName($value = null) { if($value) { $this->tempName = $value; } else { $this->tempName = mt_rand() . '.tmp'; } } /** * Return the name of the temporary file * @return string Temporary filename */ public function getTempName() { return $this->tempName; } /** * Set the name of the temporary directory * @param string $value Temporary directory */ public function setTempDirectory($value) { $this->tempDirectory = $value; return true; } /** * Return the name of the temporary directory * @return string Temporary directory */ public function getTempDirectory() { return $this->tempDirectory; } /** * Set the name of the main directory * @param string $value Main directory */ public function setMainDirectory($value) { $this->mainDirectory = $value; } /** * Return the name of the main directory * @return string Main directory */ public function getMainDirectory() { return $this->mainDirectory; } /** * Function to upload the individual file chunks * @return string JSON object with result of upload */ public function uploadFile() { //Make sure the total file we're writing to hasn't surpassed the file size limit if(file_exists($this->getTempDirectory() . $this->getTempName())) { if(filesize($this->getTempDirectory() . $this->getTempName()) > self::MAX_SIZE) { $this->abortUpload(); return json_encode(array( 'errorStatus' => 1, 'errorText' => 'File is too large.' )); } } //Open the raw POST data from php://input $fileData = file_get_contents('php://input'); //Write the actual chunk to the larger file $handle = fopen($this->getTempDirectory() . $this->getTempName(), 'a'); fwrite($handle, $fileData); fclose($handle); return json_encode(array( 'key' => $this->getTempName(), 'errorStatus' => 0 )); } /** * Function for cancelling uploads while they're in-progress; deletes the temp file * @return string JSON object with result of deletion */ public function abortUpload() { if(unlink($this->getTempDirectory() . $this->getTempName())) { return json_encode(array('errorStatus' => 0)); } else { return json_encode(array( 'errorStatus' => 1, 'errorText' => 'Unable to delete temporary file.' )); } } /** * Function to rename and move the finished file * @param string $final_name Name to rename the finished upload to * @return string JSON object with result of rename */ public function finishUpload($finalName) { $this->addToDatabase($finalName); if(rename($this->getTempDirectory() . $this->getTempName(), $this->getMainDirectory() . $finalName)) { return json_encode(array('errorStatus' => 0)); } else { return json_encode(array( 'errorStatus' => 1, 'errorText' => 'Unable to move file after uploading.' )); } } // change this function to insert into DB once we have the info we need. //DB INSERT CLASS public function addToDatabase($finalName){ $file_name = $finalName; $dir_path = self::MAIN_DIRECTORY; $path = $dir_path . $file_name; $id = $_POST['project_id']; mail("jonathan.wichmann@interex.com","project ID","ID is $id","From:jonathan.wichmann@interex.com"); //create insert record $sql = "insert into files(file_name,file_path,project_id)VALUES('$file_name','$path','$project_id')"; global $dblink; $insert = mysqli_query($dblink,$sql); if($insert) $_SESSION['project_id'] = " "; } /** * Basic php file upload function, used for unsupported browsers. * The output on success/failure is very basic, and it would be best to have these errors return the user to index.html * with the errors printed on the form, but that is beyond the scope of this project as it is very application specific. * @return string Success or failure of upload */ public function postUnsupported() { $name = $_FILES['bigUploadFile']['name']; $size = $_FILES['bigUploadFile']['size']; $tempName = $_FILES['bigUploadFile']['tmp_name']; if(filesize($tempName) > self::MAX_SIZE) { return 'File is too large.'; } if(move_uploaded_file($tempName, $this->getMainDirectory() . $name)) { return 'File uploaded.'; } else { return 'There was an error uploading the file'; } } } //Instantiate the class $bigUpload = new BigUpload; //Set the temporary filename $tempName = null; if(isset($_GET['key'])) { $tempName = $_GET['key']; } if(isset($_POST['key'])) { $tempName = $_POST['key']; } $bigUpload->setTempName($tempName); switch($_GET['action']) { case 'upload': print $bigUpload->uploadFile(); break; case 'abort': print $bigUpload->abortUpload(); break; case 'finish': print $bigUpload->finishUpload($_POST['name']); break; case 'post-unsupported': print $bigUpload->postUnsupported(); break; } ?>
×
×
  • 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.