PHP | Problem mit Uploadscript

wallcity

New Member
Hallo ihr lieben habe es bis jetzt selbst geschafft nur langsam echt blick ich einfach nemmer durch.
Wäre echt geil wenn mir jemand helfen könnte

Ganz kurz zum Code: wenn man die Datei erfolgreich hochgeladen hat, macht er auch den header auf diese eine content.php seite, nur wenn es zugroß ist, dann macht er halt net das echo sondern zeigt mir den die()"you cannot access directly" an...

Danke schonma im vorraus, hoffe ihr könnt mir dabei helfen... :rolleyes:


PHP:
<?PHP
$max_no_img=4;  // Maximum number of images value to be set here

if (!isset($_FILES['images']['name'])) {
	if (!eregi('content.php', $_SERVER['PHP_SELF'])) {
		die ('You can\'t access this file directly...');
	}
	if (!isset($_GET['portbase'])) {
		echo ('Kein Port ausgewaehlt');
	}
	else {
		$port=$_GET['portbase'];
	}
	$port=ereg_replace('/','', $port);
	$port=strip_tags($port);
	echo ('<div class="item">
				<div class="cont_top">
					<div class="shortmenu">
						<div class="shortmenu_left">Upload:</div>
						<div class="shortmenu_content">MP3-UPLOAD</div>
					</div>
					<div class="descr">
					<form method="post" action="pages/upload.php?portbase='.$port.'" enctype="multipart/form-data" /><br /><br />');
	for($i=1; $i<=$max_no_img; $i++){
		echo ('			<input type="file" name="images[]" class="serverstatusform"><br />');
	}
	echo ('				<input type="submit" value="Upload" class="serverstatusform" /><br />
					</form>');
}
else {
	if (!include("../database.php")) die("database.php could not be loaded!");
	$connection = mysql_connect($db_host, $db_username, $db_password) or die ("sql_connect");
	$db = mysql_select_db($database) or die ("select_db");
	if (!isset($_GET['portbase'])) {
		echo ("Kein Port ausgewaehlt");
	}
	else {
		$port=$_GET['portbase'];
	}
	session_start();
	$port=ereg_replace("/","", $port);
	$port=strip_tags($port);
	$loginun = $_SESSION['username'];
	$selectowner = mysql_query("SELECT * FROM servers WHERE portbase='".$port."' AND owner='".$loginun."'");
	if (mysql_num_rows($selectowner)==1) {
		$port=$port;
	}
	else {
		die ("Hackversuch!");
	}
	if (file_exists("./uploads/".$port."/")) {
		$port_use = $port;
	}
	else {
		$old = umask(0);
		mkdir("./uploads/".$port."", 0777);
		umask($old);
		$port_use = $port;
	}
	while(list($key,$value) = each($_FILES['images']['name'])) {
		if(!empty($value)) {
			$filename = $value;
			$filename = strip_tags($filename);
			$file_size_m = str_replace("M","",ini_get("upload_max_filesize"));
			if ($_FILES["images"]["size"][$key] <= ($file_size_m*1024)*1024) {
				$add = "./uploads/".$port_use."/$filename";
				copy($_FILES['images']['tmp_name'][$key], $add);
				chmod("$add",0644);
				header('Location: ../content.php?content=upload&portbase='.$port_use.'&message_ext=3&message_lang=60');
			}
			else {
				echo ("datei  ist zu gross");
			}
		}
	}
}
?>
					</div>
					<div class="toolbox">
						<h1>MP3 Upload  - LESEN!!!!!</h1>
						<p>Max 2 MB Upload (kann man aber ver&auml;ndern)<br />
						Alles geht in das verzeichnis:
						<br />
						https://shoutcastadmin.info/pages/uploads/8000/<br/>
						8000 ist eine variable, der generiert dann nen ordner falls dieser aber noch net da ist.</p>
					</div>
				</div>
			</div>
 
Wenn die Datei größer ist, als das Upload-Limit in der php.ini, dann greift ja schon die if-Abfragen und führt die kommenden Bedingungen aus. Sobald die hochgeladene Datei größer als der Eintrag in der php.ini ist, wird der Upload ja direkt von PHP verworfen und es sieht so aus, als wenn nix hochgeladen wurde.
 
Hallo danton, vielen Dank zunächst mal für deinen Post.
Ich habe den Code jetzt nochmal einwenig verändert, aber ich schaffe es immernoch nicht ganz er streikt halt auf Zeile 83, das "else" von dem Error.
Link zum Code

Wäre echt nice wenn jemand mal drüber schauen könnte und mir mal helfen kann.
Vielen Dank nochma ;)
 
Last edited by a moderator:
Wie gepostet weiterhin probiert trotzdem noch den selben Fehler...
Ich mein ihr kennt euch ja hoffentlich einwenig besser aus als ich =)
Danke schonma im vorraus...
 
Back
Top