Avatar billede TRoXa Novice
19. september 2003 - 21:21 Der er 7 kommentarer og
1 løsning

Upload flere filer

Bare et lille spørgsmål, som godt evt må kommenteres med kode :)

hvis jeg nu skal have uploadet .. lad os sige 50 filer til min side. Er der så nogen mulighed for at man kan gøre det i 1 hug.

Vil undgå at bruge fx 50 form felter med gennemsøg. Noget med at man kan vælge en mappe lokalt, og så den uploader alle filer i den mappe.

Håber at der er nogen der har et godt svar på det :)
Avatar billede sukos Juniormester
19. september 2003 - 22:21 #1
jow, det kan du jo godt, men to ting skal du tage i betragtning:
1. max str. som er tilladt ved upload, sættes i php.ini
2. den tid som et script må være om at afvikles

og så skal du vist også lige ha' fat i str. på post som accepteres, sættes vist også i php.ini
Avatar billede ohmish Nybegynder
20. september 2003 - 06:32 #2
Jeg er ret sikker på at du ikke kan uploade en hel mappe.
Filfeltet "gennemse" vil ikke acceptere at du ikke vælger en fil.

Måske ka du bruge det her:

<?php
HEADER("Expires: Wed, 01 Jan 2001 18:00:00 GMT");
HEADER("Last-Modified: " . GMDATE("D, d M Y H:i:s") . " GMT");
HEADER("Cache-Control: no-store, no-cache, must-revalidate");
HEADER("Cache-Control: post-check=0, pre-check=0", FALSE);
HEADER("Pragma: no-cache");

$mappe = "uploads/";
$sti = $_SERVER['DOCUMENT_ROOT']."/".$mappe;
$antalfiler = 10;

$fejl=$_GET['fejl'];
if ($fejl) { echo "du har ikke valgt en fil<br>"; }
if ($_POST['submit']) {
$picid=1; $ingen=0;
while ($picid<$antalfiler) {
$upfil = $_FILES['fil'.$picid]['name'];

$remove = array('\\' , '/' , ':' , '*' , '?' , '"' , '\'', ' ', '<' , '>' , '|' );
$upfil = str_replace($remove,'',$upfil);

$tempfil = $_FILES['fil'.$picid]['tmp_name'];
if ($upfil) {
if (!preg_match ("/(.gif|.jpg|.jpeg|.jpe|.pjpg|.pjpeg|.wmv|.asx|.mp3|.wav|.avi|.mpeg|.divx|.mov|.zip|.rar|.txt)$/i", $upfil)) { echo "<b>$upfil</b>: ikke tilladt filtype<br>"; $fejl=1; }
else { echo "<b>".$upfil."</b>: ok<br>";
@move_uploaded_file($tempfil, $sti.$upfil) or die ("fejl ved upload<br><a href=\"index.php\">tilbage</a>"); } $ingen++;
} $picid++; 
} if ($ingen==0) { header ("Location: index.php?fejl=1"); } }
if (!$_POST['submit'] || $ingen==0) { ?>
<b>UPLOAD FLERE FILER</b><br><br>
<form enctype="multipart/form-data" method="post" action="index.php">
<?php
$picid=1;
while ($picid<$antalfiler) {
echo "Fil$picid <input type=\"File\" name=\"fil".$picid."\" size=\"25\"><br>";
$picid++;
}
?>
<input type="submit" name="submit" value="Upload">
</form>

<?php } else { echo "<a href=\"index.php\"><br>Upload flere filer</a><br>"; } echo "<br><b>Filer i denne mappe (højreklik og gem):</b><br>";

$search = "";
function listdir($sti,$search) {
$count = 0;
$mappe = opendir($sti) or die ("mappe ikke fundet");
while($fil = readdir($mappe)) { 
if ($fil != "." && $fil != "..") {
if ( is_dir( $sti . $fil ) ) {
listdir( $sti .$fil ."/", $search); }
elseif (preg_match("/$search/i", $fil)) {
echo "<a href=\"".$mappe.$fil."\" target=\"_blank\">$fil</a><br>";  $count++; }
} } if ($count==0) { echo "ingen filer<br>"; } }
listdir($sti, $search);
?>
Avatar billede TRoXa Novice
20. september 2003 - 13:50 #3
sukos > Har du en idé om hvordan man gør det hvis man ser bort fra de ting du skriver. Hvis vi lader som om det er 50 små tekst filer med et bogstav i hver ?

ohmish > den der laver jo netop mange browse bokse, og det vil jeg ikke bruge. Det må kunne lade sig gøre uden.
Avatar billede ohmish Nybegynder
20. september 2003 - 15:10 #4
man kan ikke hverken påvirke eller snyde browserens måde at browse uploadfiler på.. med andre ord: du kan ikke vælge en hel mappe der skal uploades.
Avatar billede TRoXa Novice
20. september 2003 - 15:21 #5
det behøver ikke være igennem form upload hvis det er den der sætter begrænsningen.. bare det sker igennem internet siden på en eller anden måde
Avatar billede ohmish Nybegynder
20. september 2003 - 16:06 #6
der er så vidt vides ikke andre muligheder.. udover ftp. men måske er der nogen der har en fræk løsning som ingen andre kender til.
Avatar billede TRoXa Novice
29. april 2004 - 09:10 #7
Fik aldrig løst problemet, og lukker nu spørgsmålet :) (6 måneder efter :S)
Avatar billede sukos Juniormester
29. april 2004 - 16:52 #8
Jeg fik vist ikke læst spm. ordentligt!
Ellers ville jeg ikke ha' skrevet "Jow det kan du jo godt.........." :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester