Mehrere Dateien auf einmal löschen ?!?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Muldini

Beitrag von Muldini »

So, das sollte funktionieren.

Code: Alles auswählen

<?php 

define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

// Start session management 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
// End session management 

$page_title = $lang['FileUpload']; 
include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

// User überprüfen START 
if ( $userdata['user_level'] == ADMIN || $userdata['user_level'] == MOD || $userdata['user_level'] == JUNIOR_ADMIN ) 
{ 
} 
else 
{ 
message_die(GENERAL_MESSAGE, $lang['Not_Authorised'], $lang['Not_Authorised']); 
exit; 
} 
// User überprüfen ENDE 
if($_POST[submit_update])
{
	foreach($_POST[check] as $file) 
	{
	$base_dir = './upload/'; 
	$path = $base_dir; 
	unlink($path.$file); 
	}
}
?> 

<table width='100%' border='0' cellpadding='1' cellspacing='1' style='border-collapse: collapse' class='forumline'> 
<tr> 
<td class='catHead' width='100%' colspan='3' height='25'><span class='cattitle'><center><b>Verzeichnisinhalt von ./upload</b></center></span></td> 
</tr> 
<tr> 
<td colspan='3' height='1' class='row3'><img src='images/spacer.gif' width='1' height='1' alt='.'></td> 
</tr> 
<tr> 
<th align='center' height='25' width='70%' class='toprow' nowrap='nowrap'>&nbsp;Datei&nbsp;</th> 
<th align='center' height='25' width='20%' class='toprow' nowrap='nowrap'>&nbsp;Größe&nbsp;</th> 
<th align='center' height='25' width='10%' class='toprow' nowrap='nowrap'>&nbsp;Datei löschen&nbsp;</th> 
</tr>

<form method="post" name="post" action="fileuploaddel.php">  
<?php 

// ##### Verzeichnsis lesen - START ##### 
$base_dir = './upload/'; 
$path = $base_dir; 
$dir_handle = @opendir($path) or die("Das Verzeichnis $path konnte nicht geöffnet werden !"); 
$space=" "; 

if ($path != "."){ 
while ($file = readdir($dir_handle)) { 
if($file=='.'||$file=='..') 
continue; 

$t="<tr><td align='left' class='row2'>&nbsp;<span class='genmed'><a href=$path$file>$file</a></span>&nbsp;</td>"; 
echo $t.substr($space,0,40-strlen($file)) ; 

$t=(filesize($path.$file)/1024); 
$t=sprintf("<td align='center' class='row3'>&nbsp;<span class='genmed'>%01.2f",$t)."kB</span>&nbsp;</td> 
<td align='center' class='row3'>&nbsp;<span class='gensmall'><input type='checkbox' name='check[]' value='$file'></span>&nbsp;</td>"; 
echo substr($space,0,10-strlen($t)) . $t ; 
} 
} elseif ($path = ".") { 
while ($file = readdir($dir_handle)) { 

$t="<a href=$file>$file</a>"; 
echo $t.substr($space,0,40-strlen($file)) ; 

$t=(filesize($file)/1024); 
$t=sprintf("%01.2f",$t)."kb "; 
echo substr($space,0,10-strlen($t)) . $t; 
} 
} 
closedir($dir_handle); 

echo "</table>"; 
// ##### Verzeichnsis lesen - ENDE ##### 

?> 
<script language="Javascript" type="text/javascript"> 
function select_switch(status) 
{ 
for (i = 0; i < document.file_delete.length; i++) 
{ 
document.file_delete.elements[i].checked = status; 
} 
} 
</script> 


<a href="javascript:select_switch(true);" class="gensmall">Alle markieren</a> :: 
<a href="javascript:select_switch(false);" class="gensmall">Markierungen aufheben</a> 
</span></td></tr><tr><td width="50%" colspan="1" align="center" valign="middle"> 
<input class="liteoption" type="submit" name="submit_update" value="Ausgewählte Dateien löschen" /> 
</td></tr></table> 
</form> 


Mfg
Muldini
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

<input type="checkbox" name="check[]" value="DATEINAME">
Der name muss mit [] enden, damit PHP die Variable als Array anlegt. Anstatt DATEINAME musst du den Dateinamen schreiben. Dann kannst du in der Datei, an die das Formular geschickt wird die o.a. foreach-Schleife verwenden.

EDIT: Tja... wer zu spät kommt, den bestraft das Leben :(
AWSW
Ehemaliges Teammitglied
Beiträge: 3365
Registriert: 26.05.2002 12:20

Beitrag von AWSW »

Hallo zusammen :D

Sehr schön das Löschen klappt nun schon mal 1a !!! Vielen Dank !!! :D

Bleibt mir nur noch die Frage, warum die Markierung / DeMarkierung über die 2 Links in dieser Datei klappt: unanswered_topics_body.zip und in meinem Code nicht :(

Wäre nett, wenn Ihr noch mal´n Blick riskieren würdet, da ich die Option schon ganz gern in dem Code haben möchte :wink: :roll: :wink:
LEIDER DAUERHAFT OFFLINE & Ich beantworte keine Fragen zu phpBB per Mail oder PN !
Hinweis: awsw.de ist nun dauerhaft offline. Die MODs könnt Ihr hier in der Datenbank finden.
Bitte keine Anfragen senden, ob ich die MODs anderweitig senden kann - es geht nicht - Danke für Euer Verständnis !
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Weil du das Formular im HTML-Code "post" nennst, es im JS-Code jedoch mit "file_delete" ansprichst.
AWSW
Ehemaliges Teammitglied
Beiträge: 3365
Registriert: 26.05.2002 12:20

Beitrag von AWSW »

[ externes Bild ] Ohhh Mann ich Dussel - ich brauch wohl noch was Schlaf - Danke Dir !!! [ externes Bild ]

Danke Euch allen und schönen Tag noch !!! :)
LEIDER DAUERHAFT OFFLINE & Ich beantworte keine Fragen zu phpBB per Mail oder PN !
Hinweis: awsw.de ist nun dauerhaft offline. Die MODs könnt Ihr hier in der Datenbank finden.
Bitte keine Anfragen senden, ob ich die MODs anderweitig senden kann - es geht nicht - Danke für Euer Verständnis !
Muldini

Beitrag von Muldini »

Kein Problem ;)
Sag bescheid wenn man sich das fertige Ding als Mod ziehen kann *g

Mfg
Muldini
Antworten

Zurück zu „Coding & Technik“