Jump to content

Trouble with an upload script...


GrdLock

Recommended Posts

This script is uploading a file to my website. It uploads the file, and stores information in a .desc file as well. It works fine, but now I'm trying to add the MD5 hash of the file to the .desc file as well.

 

Here's my upload script now:

 

	case 'upload';
	$message = $mess[40];
	$userfile = getFilesVar('userfile');
	$userfile_name = $userfile['name'];
	$userfile_size = $userfile['size'];
	$destination = $uploads_folder_name."/$directory";


	if (!$grants[$user_status][uPLOAD])
	{
		place_header(sprintf($mess[49], "<b>$userfile_name</b>"));
		show_contents();
		break;
	}


	if (!is_path_safe($directory, $userfile_name))
	{
		place_header(sprintf($mess[49], "<b>$userfile_name</b>"));
		show_contents();
		break;
	}


		if ($userfile_name == '')
		{ $message = $mess[34]; }

		if ($userfile_size != 0)
		{ $size_kb = $userfile_size/1024; }
		else
		{
			$message = $mess[34];
			$size_kb = 0;
		}

		// Get the daily amount of bytes written
		$day_size = get_dayload();

		// get the monthly amount of bytes written
		$month_size = get_monthload();

	if ($userfile_name != '' && $userfile_size !=0)
	{
		$userfile_name = normalize_filename($userfile_name);

		// Try if file exists Or file is script
		if (file_exists("$destination/$userfile_name") ||
		    eregi($rejectedfiles, $userfile_name) ||
		    ($size_kb > $max_allowed_filesize) ||
		    (($max_daily_mb > 0) && (($userfile_size+$day_size) > ($max_daily_mb*1024*1024))) ||
		    (($max_monthly_mb > 0) && (($userfile_size+$month_size) >($max_monthly_mb*1024*1024))))
		{
			if (($max_daily_mb > 0) && (($userfile_size+$day_size) > ($max_daily_mb*1024*1024)))
			{
				$message="$mess[210]";
			}
			else if (($max_monthly_mb > 0) && (($userfile_size+$month_size) >($max_monthly_mb*1024*1024)))
			{
				$message="$mess[211]";
			}
			else
			{
				if ($size_kb > $max_allowed_filesize)
					$message="$mess[38] <b>$userfile_name</b> $mess[50] ($max_allowed_filesize Kb)!";
				else
				{
					if (eregi($rejectedfiles, $userfile_name))  // If file is script
						$message=sprintf($mess[49], "<b>$userfile_name</b>");
					else
					{
						$message="$mess[38] <b>$userfile_name</b> $mess[39]";
					}
				}
			}
		}
		else
		{
			if (($user_status != ANONYMOUS) && ($logged_user_name != ''))  // Update user statistics
			{
				list($files_uploaded, $files_downloaded, $files_emailed) = load_userstat($logged_user_name);
				$files_uploaded++;
				save_userstat($logged_user_name, $files_uploaded, $files_downloaded, $files_emailed, time());
			}

			// Save description
			$ip = getenv('REMOTE_ADDR');
			$filestatus = ($validation_enabled) ? UNVALIDATED : VALIDATED;

			if (!move_uploaded_file($userfile['tmp_name'], "$destination/$userfile_name"))
			{
				$message="$mess[33] $userfile_name";
			}
			else
			{
				if ($encrypt_filecontent) {
					encrypt_file("$destination/$userfile_name");
				}


	                      $md5temp = exec('md5sum  '."'$current_dir/$filename'");
	                      $md5value = substr($md5temp,0,32);
                              save_file_description("$destination/$userfile_name.desc", $description, $filestatus, $logged_user_name, $ip, $md5value);


				// Successful file upload.
				increasebytecount("$destination/$userfile_name");
				$message="$mess[36] <b>$userfile_name</b> $mess[37]";
				if ($filestatus == UNVALIDATED)
				{
					$message = $message.". ".$mess[218];
				}
			}
		}
	}
	place_header($message);


	show_contents();
	break;

 

The md5 part I added is close to the very bottom. Also, here's the function save_file_description:

 

function save_file_description($filename, $description, $activated, $logged_user_name, $ip, $md5value)
{
$description = stripslashes($description);

$fp=fopen($filename, 'w+');
fputs($fp, $logged_user_name."\n");
fputs($fp, $ip."\n");
fputs($fp, $activated."\n");
fputs($fp, $description."\n");
fputs($fp, $md5value);
fclose($fp);
}

 

However, when I upload the file, it gives me an error saying save_file_description is missing the 6th variable, which would be the md5 information.

 

What am I screwing up in grabbing the md5 information that's not sending it to the save_file_description function?

Link to comment
https://forums.phpfreaks.com/topic/197267-trouble-with-an-upload-script/
Share on other sites

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.