Avatar billede tine Nybegynder
16. januar 2006 - 15:20 Der er 16 kommentarer og
1 løsning

Multiple picture upload

Hej

Jeg har fundet nedenstående script på nettet og rettet det lidt til, men kan ikke få det til at virke....
Er der nogen der kan hjælpe med at rette det til så det kommer til at virke?

<?PHP
if ($antal == ""){
    echo "Hvor mange billeder vil du uploade? <br>";
    echo '<form action="'.$PHP_SELF.'" enctype="multipart/form-data" method="post">';
        echo '<input type="Text" name="antal" value=""></input>';
        echo '<input type="Submit" name="ok" value="OK"></input>';
    echo '</form>';
}else{


    echo "Hvor mange billeder vil du uploade? <br>";
    echo '<form action="'.$PHP_SELF.'" enctype="multipart/form-data" method="post">';
        echo '<input type="Text" name="antal" value=""></input>';
        echo '<input type="Submit" name="ok" value="OK"></input>';
    echo '</form>';
   
$Admin[UploadNum] = "$antal";
$Admin[Directory] = "test/billeder/"; 
if($FileUpload) {
for ($Number = 1; $Number <= $Admin[UploadNum]; $Number++){
$PictureFirst = "fileup$Number"."_name";
$OriginalFileName = $$PictureFirst;
$SetFormatTempFile = "fileup$Number";
$TemporaryFile = $$SetFormatTempFile;
    if($TemporaryFile != "none") {
    $Filesizebtyes = filesize($TemporaryFile);
    $ok = 1;
        if($Filesizebtyes < 10) {
        $error .= "Error uploading (file size lower than 10 bytes) for file $Number<BR>";
        $ok = 2;
        }
    if(file_exists("$Admin[Directory]/$OriginalFileName") OR $ok == 2) {
    $error .="File name already exists for file $Number<BR>";
    } else {
    copy ($TemporaryFile, "$Admin[Directory]/$OriginalFileName");
    $error .="File $Number has been uploaded<BR>";
    }
        }
}
if(!$error) {
$error .= "No files have been selected for upload";
}
echo $error;
exit();
} else {
echo '<form enctype="multipart/form-data" action="'.$PHP_SELF.'" method="post">';
for ($Number = 1; $Number <= $Admin[UploadNum]; $Number++){
echo "<input name=\"fileup$Number\" type=\"file\" size=\"25\">\n";   
}
echo "<br><input name=\"FileUpload\" type=\"submit\" value=\"Upload Files\">\n";
exit();
}

}
?>
Avatar billede cpfrande Nybegynder
17. januar 2006 - 09:06 #1
Kommer scriptet med en fejl? Hvis ja, hvilken fejl? Hvis nej, hvad gør du før scriptet gør, som du ikke vil have det til at gøre?

Ligger scriptet online et sted, så vi kan se det køre?
Avatar billede tine Nybegynder
17. januar 2006 - 09:13 #2
Skriptet ligger her : http://www.tinez.dk/test/test1.php og det uploader ikke de billeder det skal men kommer ikke med nogen fejl.
Avatar billede cpfrande Nybegynder
17. januar 2006 - 09:22 #3
Halløjsa,

Mit gæt vil være, at du glemmer at medsende variablen "antal" i den formular, der uploader billederne.

Det kan du gøre med:
echo '<input type="hidden" name="antal" vlaue="' . $antal . '">';

(skal indsættes efter: echo '<form enctype="multipart/form-data" action="'.$PHP_SELF.'" method="post">';)

Da du ikke får antallet med er $antal == null og dermed går den til den side, der spørger efter hvor mange billeder du vil uploade.

--
Kristian
Avatar billede tine Nybegynder
17. januar 2006 - 09:42 #4
Det hjalp ikke at sende $antal med, men det ser faktisk ud som om den ikke post'er noget som helst?!?!?
Avatar billede cpfrande Nybegynder
17. januar 2006 - 10:06 #5
Jeg ved ikke om det er det, men hvor afslutter du din sidste <form> ?

Det gør du vidst ikke. Så indsæt lige et </form> til sidst i filen og prøv igen - hjalp det?
Avatar billede tine Nybegynder
17. januar 2006 - 10:12 #6
Nej det hjalp desværre ikke...
Avatar billede cpfrande Nybegynder
17. januar 2006 - 10:21 #7
Linket, som du har angivet længere oppe, har jeg lige kigget på. Når jeg uploader 2 billeder (eller forsøger) så går den videre til vis.php.

vis.php udskriver så:
Yes - POST = POST

TEST
POST

Det er vel forkert?

Dertil kan jeg se, at du har placeret linien:
echo '<input type="hidden" name="antal" value="' . $antal . '">';

... forkert

Du har sat den ved den første formular, men den skal sættes ved anden formular (Formularen, hvor billederne bliver uploaded). Du har sat den ved formularen, hvor man skal indtaste antal billeder, man vil uploade.

Det kan jo forklare, hvorfor det stadig fejler så...

--
Kristian
Avatar billede tine Nybegynder
17. januar 2006 - 10:55 #8
Nu har jeg flyttet $antal og det ændre ikke på noget.
Den side du ryger om på er bare en check side, den skriver bare $SERVER[REQUEST_METHOD]
Avatar billede cpfrande Nybegynder
17. januar 2006 - 10:59 #9
Hej igen,

Du skrev ikke:
echo '<input type="hidden" name="antal" value="' . $antal . '">';

men:
echo '<input type="hidden" name="antal" vlaue="' . $antal . '">';

Den sidste er der en fejl i... Der skal stå value og ikke vlaue. Ret det - så skulle det gerne virke.
Avatar billede tine Nybegynder
17. januar 2006 - 11:13 #10
UPS! :o) Ja det hjalp, nu kommer $antal med, men den uploader stadig ingen billeder......
Avatar billede cpfrande Nybegynder
17. januar 2006 - 11:48 #11
Halløjsa,

Og det ved du hvordan? Scriptet, der ligger på nettet, går jo stadig ind på vis.php. Filerne vil jo ikke blive fremvist som hverken POST eller GET parametre i en REQUEST_METHOD (er du klar over - ikke?)

Hvordan er web-serveren desuden opsat med hensyn til register_globals (on? off?).

Jeg vil anbefale dig at bruge $_FILES['navn_på_filvariabel'] til at hente filen med. Du kan læse meget mere om det på http://www.webcafe.dk/artikler/php/upload/

--
Kristian
Avatar billede tine Nybegynder
17. januar 2006 - 11:58 #12
Nu begynder jeg endelig at få nogle fejlbeskeder, noget hjælp at hente???
Avatar billede tine Nybegynder
17. januar 2006 - 12:00 #13
register_globals er on og nu sumbitter den til sig selv igen
Avatar billede tine Nybegynder
17. januar 2006 - 12:13 #14
Nu har jeg fået det til at virke :o), men tak for hjælpen
Avatar billede cpfrande Nybegynder
17. januar 2006 - 12:59 #15
Det var så lidt.

Hvad var problemet? Hvordan løste du det?

Det er altid god skik at skrive sine løsninger herinde, så andre kan blive hjulpet, hvis de har samme problem.

--
Kristian
Avatar billede tine Nybegynder
17. januar 2006 - 14:00 #16
Hi hi, det er lidt pinligt, men ud over den stavefejl jeg havde med value som du rettede, manglede jeg en " i action på den sidste del af formen, den er rigtig her på siden i ex, det var den bare ikke hos mig selv.
Avatar billede cpfrande Nybegynder
17. januar 2006 - 14:30 #17
Ahh, ja, den var jo svær for mig at spotte! :-)

God fornøjelse med det!
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

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