Bilder Upload Script funktioniert nicht.

Frigg

Mitglied
Hallo zusammen

Ich weiss nicht was ich falsch mache... ich habe index_upload.php auf 777 gesetzt, und denn Ordner auch auf 777. Ich habe beide files auf den Server geladen
( index_upload.php und function.php )

Sobald ich eine datei auswähle und speichern klicke, springt es auf die hauptseite zurück, ohne das bild raufzuladen.

index_upload.php

PHP:
<?php
	// ----------------------------------------- 
	// Das Script kann unter Verwendung 
	// dieses Vermerks uneingeschränkt 
	// genutzt / verändert werden. 
	//  © www.php-space.info
	// -----------------------------------------
	@include_once('functions.php'); 
	// -----------------------------------------
	// Beispiel $path = '/bilder-upload-script/img/'; 
	$path = '/neue bilder/'; 	// Verzeichnis zum Speicher Ordner nach http://www.ihre-domain.de/
	// Beispiel $img_path_up = '/home/www/web3/html/php-space/bilder-upload-script/img/';
	$img_path_up = '/home/carsytli/public_html/neue bilder/'; // Absuluter Pfad zum Speicher Ordner
	$groessemax = 10000; // Maximal Datei Größe in KB (KiloByte) 
	// ----------------------------------------- 
	// Ab hier nichts mehr anpassen 
	if (!isset($_GET["loechen"]))	$_GET["loechen"] = "";
	if (!isset($_GET["file"]))		$_GET["file"] = "";
	
?>
<html> 
<head> 
<title>Datei Upload</title> 
<!-- Php-Space.info / Datei Upload Version 1.01 - 03.01.2007 -->
<!-- (c) Nico Schuber <?php echo date("Y");?> - Kontakt: www.SchubertMedia.de - info[at]SchubertMedia.de -->
<style type="text/css">
	<!--
	body, table{
		color: #FFFFFF;
		font: 11px Verdana, Tahoma, Arial, Helvetica, sans-serif; 
	}
	div{
		margin:0;
		padding:0;
	}
	-->
</style>
</head> 
<body>
<? 
if(uploadmoeglichkeitpruefen()==false){
	echo '<div style="color:red;">Es ist auf diesen Server kein Upload möglich, bitte wenden Sie sich an Ihren Hoster und bitten um Aktivierung der Php Upload Funktion.</div>';
 	exit;	
}
if(file_exists($img_path_up)==false OR $img_path_up ==''){
	echo '<div style="color:red;">Es gibt kein Ordner wohin die Bilder geladen werden sollen!</div>';
	exit;

}
?>
    <br>
    <strong>File Upload</strong><br>
    <br>
<?
if($_POST["action"]){ 
	$filename = ""; 
	if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none'){    
		$file = $HTTP_POST_FILES['userfile']['name']; 
		$temp = $HTTP_POST_FILES['userfile']['tmp_name']; 
		$path_parts = pathinfo($file); 
		$filename = "datei_" . time() . "." . $path_parts["extension"]; 
		if($HTTP_POST_FILES['userfile']['size'] <= $groessemax*1024){
			if(decoct(fileperms($img_path_up))==40777){
				if(@copy($temp, $img_path_up.$filename)){ 
					echo '<div style="color:green;">Datei ist auf den Server!<br>'; 
					echo 'Url der Datei: <a href="http://'.$_SERVER['HTTP_HOST'].$path.$filename.'" target="_blank">http://'.$_SERVER['HTTP_HOST'].$path.$filename.'</a><br><br><a href="'.$_SERVER['PHP_SELF'].'">Eine weitere Datei auf den Server laden...</a><br><br></div>'; 
				} else {
					echo '<div style="color:red;">Die Datei konnte nicht auf den Server geladen werden. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
				}
			} else {
				echo '<div style="color:red;">Der Upload Ordner hat keine Schreibrechte! <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
			}
		} else {
			echo '<div style="color:red;">Die Datei ist zu groß! Die Datei darf nicht größer als '.$groessemax.' KB (KiloByte) sein. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
		}
	} 
} else { 
?> 
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
	die Datei darf nicht gr&ouml;&szlig;er sein als <?php if((maximaledateiuploadgroesseermitteln()/1024)>$groessemax) echo $groessemax; else echo (maximaledateiuploadgroesseermitteln()/1024);?> KB (KiloByte).<br><br>
	<input name="userfile" type="file" size="40"><br><br>
	<input type="submit" name="action" value="Speichern">
</form> 
<? } ?>
<br><strong>File List</strong><br><br> 
<?
// Datein Löschen
if($_GET["loechen"]==1 AND $_GET["file"]!=''){
	if(file_exists($_GET["file"])==true){
		if(@unlink($_GET["file"])==true) echo '<div style="color:green;">Die Datei wurde erfolgreich gelöscht!<br><br></div>';
		else echo '<div style="color:red;">Die Datei konnte nicht gelöscht werden.<br><br></div>';
	} else {
		echo '<div style="color:red;">Die Datei gibt es nicht im Upload Verzeichnis!<br><br></div>';
	}
}
?>
<table border="0" cellspacing="2" cellpadding="2" width="500" bgcolor="#FFFFFF">
  <tr align="middle" bgcolor="Gainsboro" style="font-weight:bold">
		<td><SPAN class="fett">File</SPAN></td>
		<td><SPAN class="fett">Größe</SPAN></td>
		<td><SPAN class="fett">Letzte Änderung</SPAN></td>
		<td><SPAN class="fett">Aktion</SPAN></td>
	</tr>
<?
// Datein Verzeichnis ansgeben
$i=0;
$verz=opendir ($img_path_up);
while (false !== ($file = readdir($verz))) {
	if (filetype($img_path_up.$file)!="dir"){
		$i++;
		echo '<tr bgcolor="Gainsboro">';
		echo '	<td><a href="http://'.$_SERVER['HTTP_HOST'].$path.$file.'"  target="_blank">'.$file.'</a></td>';
		echo '	<td>'.fs_convert($img_path_up.$file,2).'</td>';
		echo '	<td>'.date("d.m.Y H:i", last_change($img_path_up.$file)).'</td>';
		echo '	<td><a href="'.$_SERVER["PHP_SELF"].'?file='.$img_path_up.$file.'&loechen=1" >Löschen</td>';
		echo '</tr>';
	}	
}
if($i==0){
	echo '<tr bgcolor="Gainsboro">';
	echo '	<td colspan="4">Es ist noch keine Datei im Upload Ordner.</td>';
	echo '</tr>';
}
closedir($verz);
?>
</table>
</body> 
</html>

function.php

PHP:
<?
	// ----------------------------------------- 
	// Das Script kann unter Verwendung 
	// dieses Vermerks uneingeschränkt 
	// genutzt / verändert werden. 
	//  © www.php-space.info
	// ----------------------------------------- 
	if (eregi("functions.php",$_SERVER["PHP_SELF"])) {
  		exit;
	}
	function fs_convert ($datei, $nachkommastellen = 0) {
		$size = filesize($datei);
		if($size >= 1073741824) {
			return round($size/(1073741824), $nachkommastellen)." GB";
		}
		
		if($size >= 1048576) {
			return round($size/(1048576), $nachkommastellen)." MB";
		}
		
		if($size >= 1024) {
			return round($size/(1024), $nachkommastellen)." KB";
		}
    return $size." Byte";
	}
	function last_change ($site) {
		if(empty($site)) {
			$site = $_SERVER['DOCUMENT_ROOT'];
			$site.= $_SERVER['PHP_SELF'];
		}
    return filemtime($site);
	}
	function uploadmoeglichkeitpruefen(){
		$uploadmoeglichkeit=true;
		if(strtolower(@ini_get('file_uploads'))=='off' || @ini_get('file_uploads')==0){
			$uploadmoeglichkeit=false;
		}
	return $uploadmoeglichkeit;
	}
	function maximaledateiuploadgroesseermitteln(){
		$maximaledateiuploadgroesse=0;
		if($dateigroesse=ini_get('upload_max_filesize')){
			$maximaledateiuploadgroesse=phpiniwertumwandeln($dateigroesse);
		}
		if($postgroesse=ini_get('post_max_size')){
			$postgroesse=phpiniwertumwandeln($postgroesse);
			if($postgroesse<$maximaledateiuploadgroesse){
				$maximaledateiuploadgroesse=$postgroesse;
			}
		}
		return $maximaledateiuploadgroesse;
	}
	function phpiniwertumwandeln($groesse){
		$werte['MB'] = 1048576;
		$werte['Mb'] = 1048576;
		$werte['M'] = 1048576;
		$werte['m'] = 1048576;
		$werte['KB'] = 1024;
		$werte['Kb'] = 1024;
		$werte['K'] = 1024;
		$werte['k'] = 1024;
	
		while(list($schluessel)=each($werte)){
			if((strlen($groesse)>strlen($schluessel)) && (substr($groesse, strlen($groesse)-strlen($schluessel))==$schluessel))		{
				$groesse=substr($groesse, 0, strlen($groesse)-strlen($schluessel))*$werte[$schluessel];
				break;
			}
		}
		return $groesse;
	}
?>

Kann mir einer sagen, warum das nicht funktioniert

Danke viel mals fürs Helfen.
 
Servus!

Also lokal funktioniert das Ganze bei mir. Ich denke das ist ein Pfad oder Rechte Problem. Setz Dir doch mal in den Funktionen Schritt für Schritt Ausgaben und nem die() oder exit und verfolge dann damit bis wohin es läuft und ab wo es kracht.
Ausserdem würde ich mal das @ Zeichen entfernen, denn das unterdrückt ja die Meldungen die dieser Aufruf wirft. Denke das wird weiterhelfen.

PHP:
if(@copy($temp, $img_path_up.$filename)){

Viel Erfolg
vg Clemens
 
Zurück