Seite 1 von 1

Fehler im script wer kann helfen?

Verfasst: 01.05.2007, 16:30
von ich61
Ich habe folgenden code:

Code: Alles auswählen

<?
// Datein Löschen
if&#40;$_GET&#91;"loechen"&#93;==1 AND $_GET&#91;"file"&#93;!=''&#41;&#123;
	if&#40;file_exists&#40;$_GET&#91;"file"&#93;&#41;==true&#41;&#123;
		if&#40;@unlink&#40;$_GET&#91;"file"&#93;&#41;==true&#41; echo '<div style="color&#58;green;">Die Datei wurde erfolgreich gelöscht!<br><br></div>';
		else echo '<div style="color&#58;red;">Die Datei konnte nicht gelöscht werden.<br><br></div>';
	&#125; else &#123;
		echo '<div style="color&#58;red;">Die Datei gibt es nicht im Upload Verzeichnis!<br><br></div>';
	&#125;
&#125;
?>
<table border="0" bordercolor="Gray" bgcolor="DarkGray" cellspacing="2" cellpadding="2" width="500">
	<tr align="middle" bgcolor="Gainsboro" style="font-weight&#58;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 &#40;$img_path_up&#41;;
while &#40;false !== &#40;$file = readdir&#40;$verz&#41;&#41;&#41; &#123;
	if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41;&#123;    
		$file = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'name'&#93;; 
		$temp = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;; 
		$path_parts = pathinfo&#40;$file&#41;; 
		$filename = "datei_" . time&#40;&#41; . "." . $path_parts&#91;"extension"&#93;; 
	if &#40;filetype&#40;$img_path_up.$file&#41;!="dir"&#41;&#123;
		$i++;
		echo '<tr bgcolor="Gainsboro">';
		echo '	<td><a href="http&#58;//'.$_SERVER&#91;'HTTP_HOST'&#93;.$path.$file.'"  target="_blank">'.$file.'</a></td>';
		echo '	<td>'.fs_convert&#40;$img_path_up.$file,2&#41;.'</td>';
		echo '	<td>'.date&#40;"d.m.Y H&#58;i", last_change&#40;$img_path_up.$file&#41;&#41;.'</td>';
		echo '	<td><a href="'.$_SERVER&#91;"PHP_SELF"&#93;.'?file='.$img_path_up.$file.'&loechen=1" >Löschen</td>';
		echo '</tr>';
	&#125;	
&#125;
if&#40;$i==0&#41;&#123;
	echo '<tr bgcolor="Gainsboro">';
	echo '	<td colspan="4">Es ist noch keine Datei im Upload Ordner.</td>';
	echo '</tr>';
&#125;
closedir&#40;$verz&#41;;
?>


Wenn ich den code so verwenden möchte habe ich 2 fehler im Browser stehen einmal


Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/web7/html/admin.php on line 54

Und das is der andere

Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/web7/html/admin.php on line 71


Kann mir jemand helfen?Was fehlt in dem code??

Verfasst:
von

Verfasst: 01.05.2007, 16:41
von auftragslinker
$verz=opendir ($img_path_up);

so wie ich das sehe, ist $img_path_up nicht gesetzt???

Verfasst: 01.05.2007, 16:46
von ich61
Un wie setze ich das vielleicht sollte ich dazu sagen das ich aus einem code 2 gemacht habe dieser code ist der admin der andere der normale code.

Hier mal der erste teil des codes:

Code: Alles auswählen

<? 
if&#40;uploadmoeglichkeitpruefen&#40;&#41;==false&#41;&#123;
	echo '<div style="color&#58;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;	
&#125;
if&#40;file_exists&#40;$img_path_up&#41;==false OR $img_path_up ==''&#41;&#123;
	echo '<div style="color&#58;red;">Es gibt kein Ordner wohin die Bilder geladen werden sollen!</div>';
	exit;

&#125;
?>
    <br>
    <strong>File Upload</strong><br>
    <br>
<?
if&#40;$_POST&#91;"action"&#93;&#41;&#123; 
	$filename = ""; 
	if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41;&#123;    
		$file = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'name'&#93;; 
		$temp = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;; 
		$path_parts = pathinfo&#40;$file&#41;; 
		$filename = "datei_" . time&#40;&#41; . "." . $path_parts&#91;"extension"&#93;; 
		if&#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'size'&#93; <= $groessemax*1024&#41;&#123;
			if&#40;decoct&#40;fileperms&#40;$img_path_up&#41;&#41;==40777&#41;&#123;
				if&#40;@copy&#40;$temp, $img_path_up.$filename&#41;&#41;&#123; 
					echo '<div style="color&#58;green;">Datei ist auf den Server!<br>'; 
					echo 'Url der Datei&#58; <a href="http&#58;//'.$_SERVER&#91;'HTTP_HOST'&#93;.$path.$filename.'" target="_blank">http&#58;//'.$_SERVER&#91;'HTTP_HOST'&#93;.$path.$filename.'</a><br><br><a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'">Eine weitere Datei auf den Server laden...</a><br><br></div>'; 
				&#125; else &#123;
					echo '<div style="color&#58;red;">Die Datei konnte nicht auf den Server geladen werden. <a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'">Noch mal versuchen...</a><br><br></div>';
				&#125;
			&#125; else &#123;
				echo '<div style="color&#58;red;">Der Upload Ordner hat keine Schreibrechte! <a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'">Noch mal versuchen...</a><br><br></div>';
			&#125;
		&#125; else &#123;
			echo '<div style="color&#58;red;">Die Datei ist zu groß! Die Datei darf nicht größer als '.$groessemax.' KB &#40;KiloByte&#41; sein. <a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'">Noch mal versuchen...</a><br><br></div>';
		&#125;
	&#125; 
&#125; else &#123; 
?> 
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER&#91;"PHP_SELF"&#93;; ?>">
	die Datei darf nicht gr&ouml;&szlig;er sein als <?php if&#40;&#40;maximaledateiuploadgroesseermitteln&#40;&#41;/1024&#41;>$groessemax&#41; echo $groessemax; else echo &#40;maximaledateiuploadgroesseermitteln&#40;&#41;/1024&#41;;?> KB &#40;KiloByte&#41;.<br><br>
	<input name="userfile" type="file" size="40"><br><br>
	<input type="submit" name="action" value="Speichern">
</form> 
<? &#125; ?>

wie muss der 2. code nun lauten das es funktioniert??

Verfasst: 01.05.2007, 17:34
von semtex
Der Error kann auch auf ein safe_mode Problem hinweisen !

Verfasst: 01.05.2007, 17:52
von ich61
nein das script funktionierte vorher habs nur etwas abgeändert also aus einem code zwei gemacht seitdem hab ich diese fehlermeldungen.Hab wohl irgendwas verkehrt gemacht

Verfasst: 02.05.2007, 09:10
von auftragslinker
mach doch vor dem

$verz=opendir ($img_path_up);

mal ein echo "Uploadpfad: $img_path_up<br>";
Wenn da nix drin steht, musst du den vorher setzen,
z.B. mit $img_path_up = "/var/www/webXX/html/images/upload/"