upload script (fra bogen avanceret php)
Hej eksperter..Jeg har siddet og læst i en af mine PHP bøger og fandt script som kunne være meget dejligt at bruge.
Et script som kan uploade flere filer via en form:
<?php
$page = "index.php";
?>
<html>
<head>
<title>marZman.dk | Upload</title>
</head>
<body>
<?php
function antal_uploads() {
global $page;
?>
<form action="<?=$page?>" method="post">
<p>Hvor mange filer ønsker du at uploade?</p>
<p>Indtast hvor mange felter du ønsker:
<input type="text" name="felter" maxlength="1" style="width: 20px;" />
</p>
<p><input type="submit" name="felter_submit" value="submit" /></p>
</form>
<?php
} // afslutter funktionen
function form($felter) {
$felter = $_POST['felter'];
global $page;
?>
<form enctype="multipart/form-data" action="<?=$page?>" method="post">
<table style="border: 2px solid black;">
<?php
for($i = 0; $i < $felter; $i++) {
?>
<tr>
<td>Fil:</td>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="20971520" />
<input type="file" name="file_<?=$i?>" />
</td>
</tr>
<?php
}
?>
<input type="hidden" name="felter" value="<?=$felter?>" />
<tr>
<td>
<input type="submit" name="submit" value="Upload fil(er)!" />
</td>
</tr>
</table>
</form>
<?php
} //afslutter funktionen
//Hvor skal filerne uploades?
$upload_dir = "/customers/marzman.dk/marzman.dk/httpd.www/upload/files/";
$felter = $_POST['felter'];
//hvis formen er blevet sendt
if (isset($submit)) {
for($i = 0; $i < $felter; $i++) {
if(is_uploaded_file(${"file_".$i})) {
// $newfile indeholde sti og navn til den uploadede fil
$newfile = $upload_dir . $_FILES['file_' . $i]['name'];
//Forsøger at flytte den uploadede fil
if(!@copy($file, $newfile)) {
echo "<p>Fejl ved upload: <em>" . $_FILES['file_' . $i]['name'] . "</em> Prøv igen</p>";
} else {
echo "<p>Tillykke! <em>" . $_FILES['file_' . $i]['name'] . "</em> er uploadet</p>";
}
}
}
} elseif(isset($felter)) {
form($felter);
} else {
antal_uploads();
}
?>
</body>
</html>
Problemet med dette script er: når jeg når til step 2, altså indsætning af filer som skal uploades. Når jeg så trykker upload bliver den stående i samme vindue somom den ikke kan gå videre til step 3...
nogen som kan se fejlen ?
Hilsen marZman
