Jump to content

Image File Size


Mencarta
 Share

Recommended Posts

I get the error: Warning: filesize() [function.filesize]: stat failed for Fever 1.0.png in C:\apache\server\projects\upload.php on line 38 When I submit an image through this code.upload.php

<?php	$links = 5242880;	$pics = 2060451840;	$pptx = 2060451840;		if (isset($_POST["type"])) {		if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {			if ($_POST["type"] == "pptx" && $_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.presentationml.presentation") {				$tmp = $_FILES["file"]["tmp_name"];				$name = $_FILES["file"]["name"];				$dir = $_POST["type"]."/".$name;				if ($handle = opendir("pptx")) {					$size = 0;					while (false !== ($file = readdir($handle))) {						$size += filesize($file);					}				}				if ($size >= $pptx) {					$files = 0;					while (false !== ($file = readdir($handle1))) {						if ($files == 3) break;						unlink($file);					}				}				move_uploaded_file($tmp,$dir);				if (file_exists($dir)) {					header("Location: uploaded.php?file=".$name);				}				else {					header("Location: error.php?file=".$name);				}			}			if ($_POST["type"] == "scrapbooks" || $_POST["type"] == "gallery" && $_FILES["file"]["type"] == "image/png" || $_FILES["file"]["type"] == "image/jpeg" || $_FILES["file"]["type"] == "image/gif") {				if ($handle = opendir("scrapbooks")) {					$size = 0;					while (false !== ($file = readdir($handle))) {						$size += filesize($file);					}				}				if ($handle1 = opendir("gallery")) {					$size1 = 0;					while (false !== ($file = readdir($handle1))) {						$size1 += filesize($file);					}				}				if ($size >= $pics || $size1 >= $pics) {					if ($size >= $pics) {						$files = 0;						while (false !== ($file = readdir($handle))) {							if ($files == 3) break;							unlink($file);						}					}					if ($size1 >= $pics) {						$files = 0;						while (false !== ($file = readdir($handle1))) {							if ($files == 3) break;							unlink($file);						}					}				}				$tmp = $_FILES["file"]["tmp_name"];				$name = $_FILES["file"]["name"];				$dir = $_POST["type"]."/".$name;				move_uploaded_file($tmp,$dir);				if (file_exists($dir)) {					header("Location: uploaded.php?file=".$name);				}				else {					header("Location: error.php?file=".$name);				}			}		}		if ($_POST["type"] == "links") {			$text = $_POST["link"];			if (filesize("links.txt") < $links) {				$file = fopen("links.txt","a");				fwrite($file,"\r\n".$text);				fclose($file);				header("Location: uploaded.php?link=".$text);			}			else {				$links = array();				$file = fopen("links.txt");				while (true) {					$line = fgets($file);					if ($line == null) break;					$links[] = $line;				}								for ($i = 0;$i < 5;$i++) {					unset($links[$i]);				}								$file = fopen("links.txt","w");				foreach ($links as $link) {					fwrite($file,$link);				}				fwrite($file,"\r\n".$text);				fclose($file);				header("Location: uploaded.php?link=".$text);			}		}	}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>	<head>		<title>Fever 1793 - Upload</title>		<link rel="stylesheet" type="text/css" href="fever.css" />		<script type="text/javascript" src="jquery.js"></script>		<script type="text/javascript">			$(function() {				$("div.file").slideUp("fast");				$("div.link").slideUp("fast");				$("input.file").click(function() {					$("div.link").slideUp("slow");					$("div.file").slideDown("slow");				});				$("input.link").click(function() {					$("div.file").slideUp("slow");					$("div.link").slideDown("slow");				});			})		</script>	</head>	<body>		<div id="header">			<h1>Fever 1793</h1>		</div>		<div id="page">			<form enctype="multipart/form-data" action="upload.php" method="post">			<b>Select the item you would like to upload</b>			<br />			Upload: <input class="link" type="radio" name="type" value="links"> <b>Link</b> | <input class="file" type="radio" name="type" value="pptx"> <b>Powerpoint</b> | <input class="file" type="radio" name="type" value="scrapbooks"> <b>Scrapbook</b> | <input class="file" type="radio" name="type" value="gallery"> <b>Gallery</b>			<br />			<br />			<br />			<div class="file">				<b>Choose the file</b>				<br />				File: <input type="file" name="file">				<br />				<input type="submit" value="Upload" />			</div>			<div class="link">				<b>Type the link</b>				<br />				Link: <input name="link" type="text" maxlength="200" />				<br />				<input type="submit" value="Upload" />			</div>			</form>			<br />			<br />			<a style="color:rgb(0,0,0);" href="fever.php" title="Home">Home</a>		</div>	</body></html>

What should I do?

Edited by Mencarta
Link to comment
Share on other sites

lines 36 to 38 are these:$size = 0;while (false !== ($file = readdir($handle))) {$size += filesize($file);Surely the $size should be larger than 0? However, I'm sure theres a php function that gets the size of the file (filemsize or something maybe?) so maybe look into that if you haven't already.Whenever theres an error in php, it tells you what line the error occured on. So look back to that line and the lines before to see where the problem could of occured.:)

Link to comment
Share on other sites

Doesn't work. I modified to the code to:upload.php

<?php	$links = 5242880;	$pics = 2060451840;	$pptx = 2060451840;	$path = "http://localhost/projects";		if (isset($_POST["type"])) {		if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {			if ($_POST["type"] == "pptx" && $_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.presentationml.presentation") {				$tmp = $_FILES["file"]["tmp_name"];				$name = $_FILES["file"]["name"];				$dir = $_POST["type"]."/".$name;				if ($handle = opendir("pptx")) {					$size = 0;					while (false !== ($file = readdir($handle))) {						$size += filesize($path."/gallery/".$file);					}				}				if ($size >= $pptx) {					$files = 0;					while (false !== ($file = readdir($handle1))) {						if ($files == 3) break;						unlink($file);					}				}				move_uploaded_file($tmp,$dir);				if (file_exists($dir)) {					header("Location: uploaded.php?file=".$name);				}				else {					header("Location: error.php?file=".$name);				}			}			if ($_POST["type"] == "scrapbooks" || $_POST["type"] == "gallery" && $_FILES["file"]["type"] == "image/png" || $_FILES["file"]["type"] == "image/jpeg" || $_FILES["file"]["type"] == "image/gif") {				if ($handle = opendir("scrapbooks")) {					$size = 0;					while (false !== ($file = readdir($handle))) {						$size += filesize($path."/gallery/".$file);					}				}				if ($handle1 = opendir("gallery")) {					$size1 = 0;					while (false !== ($file = readdir($handle1))) {						$size1 += filesize($path."/gallery/".$file);					}				}				if ($size >= $pics || $size1 >= $pics) {					if ($size >= $pics) {						$files = 0;						while (false !== ($file = readdir($handle))) {							if ($files == 3) break;							unlink($file);						}					}					if ($size1 >= $pics) {						$files = 0;						while (false !== ($file = readdir($handle1))) {							if ($files == 3) break;							unlink($file);						}					}				}				$tmp = $_FILES["file"]["tmp_name"];				$name = $_FILES["file"]["name"];				$dir = $_POST["type"]."/".$name;				move_uploaded_file($tmp,$dir);				if (file_exists($dir)) {					header("Location: uploaded.php?file=".$name);				}				else {					header("Location: error.php?file=".$name);				}			}		}		if ($_POST["type"] == "links") {			$text = $_POST["link"];			if (filesize("links.txt") < $links) {				$file = fopen("links.txt","a");				fwrite($file,"\r\n".$text);				fclose($file);				header("Location: uploaded.php?link=".$text);			}			else {				$links = array();				$file = fopen("links.txt");				while (true) {					$line = fgets($file);					if ($line == null) break;					$links[] = $line;				}								for ($i = 0;$i < 5;$i++) {					unset($links[$i]);				}								$file = fopen("links.txt","w");				foreach ($links as $link) {					fwrite($file,$link);				}				fwrite($file,"\r\n".$text);				fclose($file);				header("Location: uploaded.php?link=".$text);			}		}	}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>	<head>		<title>Fever 1793 - Upload</title>		<link rel="stylesheet" type="text/css" href="fever.css" />		<script type="text/javascript" src="jquery.js"></script>		<script type="text/javascript">			$(function() {				$("div.file").slideUp("fast");				$("div.link").slideUp("fast");				$("input.file").click(function() {					$("div.link").slideUp("slow");					$("div.file").slideDown("slow");				});				$("input.link").click(function() {					$("div.file").slideUp("slow");					$("div.link").slideDown("slow");				});			})		</script>	</head>	<body>		<div id="header">			<h1>Fever 1793</h1>		</div>		<div id="page">			<form enctype="multipart/form-data" action="upload.php" method="post">			<b>Select the item you would like to upload</b>			<br />			Upload: <input class="link" type="radio" name="type" value="links"> <b>Link</b> | <input class="file" type="radio" name="type" value="pptx"> <b>Powerpoint</b> | <input class="file" type="radio" name="type" value="scrapbooks"> <b>Scrapbook</b> | <input class="file" type="radio" name="type" value="gallery"> <b>Gallery</b>			<br />			<br />			<br />			<div class="file">				<b>Choose the file</b>				<br />				File: <input type="file" name="file">				<br />				<input type="submit" value="Upload" />			</div>			<div class="link">				<b>Type the link</b>				<br />				Link: <input name="link" type="text" maxlength="200" />				<br />				<input type="submit" value="Upload" />			</div>			</form>			<br />			<br />			<a style="color:rgb(0,0,0);" href="fever.php" title="Home">Home</a>		</div>	</body></html>

And got the error: Warning: filesize() [function.filesize]: stat failed for http://localhost/projects/gallery/burntpaper.png in C:\apache\server\projects\upload.php on line 45

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...