Avatar billede dk-andersson Nybegynder
24. oktober 2007 - 19:27 Der er 10 kommentarer og
1 løsning

upload af fil, problemer

Hey..

jeg har nu sidet i godt 4 timer og prøvet at regne denne fejl ud, men kan bare ikke find ud af havd der er galt. Upload sti bliver givet af sql data, men det virker ikke som om at den fanger dem rigtig. Den bliver bare ved med at upload dem til roden af serveren.

Når man echo D2 kommer den rigtig sti frem, så forstå det ikke

havd skal jeg gøre.

Mit script


if(isset($submit)) {
        $result = dbquery("SELECT * FROM bounce_albums WHERE `album_name` = '".$_POST['D2']."'");
        if (dbrows($result) != 0) {
            $sti = dbarray($result);
            $test = $sti['sti'];
        }
       
       
        $upload_dir = $test;                                       
        $size_bytes = 81200;  //Hvor stor må filen være som skal op. ca 50KB
        $limitedext = array(".gif",".jpg",".png",".jpeg"); // Hvad for nogle file endelser må blive lagt op på serveren
       
       
       
            for($i = 0; $i < $fields; $i++) {
            $new_file = $_FILES['file_'.$i];
            $file_name = $new_file['name'];
            $file_name = str_replace(' ', '_', $file_name);
            $file_tmp = $new_file['tmp_name'];
            $file_size = $new_file['size'];
               
                if(!is_uploaded_file($file_tmp)) {
                    echo "<p>File $i: Not selected.<br>";
                } else {
                    $ext = strrchr($file_name,'.');
                    if(!in_array(strtolower($ext),$limitedext)) {
                        echo "File $i: ($file_name) Wrong file extension. <br>";
                    } else {
                        if($file_size > $size_bytes) {
                            echo "File $i:  ($file_name) Faild  to upload. File most  be <b>". $size_bytes / 1024 ."</b> KB. <br>";
                        } else {
                            if(file_exists($upload_dir.$file_name)) {
                                echo "File $i: ($file_name) already exists.<br>";
                            } else {
                                if(move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
                                    echo "File $i: ($file_name) Uploaded.<br>";
                                } else {
                                    echo "File $i: Faild to upload.<br>";
                                }
                            }
                        }
                    }
                }   
            }       
               
                flush();
Avatar billede jakobdo Ekspert
24. oktober 2007 - 20:00 #1
Prøv at udskriv: $upload_dir.$file_name
Indeholder det korrekt data?
Avatar billede dk-andersson Nybegynder
25. oktober 2007 - 09:33 #2
Okay det har jeg prøvet nu.

hvis jeg gøre det med kode som den ser ud ovne over her kommer der dette frem
      00003.jpgFile 0: (00003.jpg) Uploaded.
hvis jeg ændre lidt i koden, sådan at jeg sætter sti manuelt.
      $upload_dir = "images/billeder/test/";
      images/billeder/test/00003.jpgFile 0: (00003.jpg) Uploaded

Så ved ikke rigtig hvad jeg skal gøre nu nogen ide?
Avatar billede jakobdo Ekspert
25. oktober 2007 - 09:50 #3
Prøv at tjek om din sql går godt?
Du antager den går godt, men hvad hvis den ikke finder en række?
Avatar billede dk-andersson Nybegynder
25. oktober 2007 - 10:09 #4
jeg har tjekket om den går godt udskrevet den.
så ved at den indholdet de rigtig info, det var noget af det første jeg tjekkede.

Men kan da godt lige tjekke det igen
Avatar billede jakobdo Ekspert
25. oktober 2007 - 10:28 #5
Prøv at følg værdien ned igennem din kode, et eller andet sted må det jo gå galt! :o)
Avatar billede dk-andersson Nybegynder
25. oktober 2007 - 10:31 #6
hmmm...

sider lige med den nu og tjekker den igennem
Avatar billede olebole Juniormester
25. oktober 2007 - 11:01 #7
<ole>

For mig at se, må det være her, den er gal:

        if (dbrows($result) != 0) {
            $sti = dbarray($result);
            $test = $sti['sti'];
        }

- prøv dette og se, hvad der sker:

        $result = dbquery("SELECT * FROM bounce_albums WHERE `album_name` = '".$_POST['D2']."'") or die (mysql_error());
        if (dbrows($result) != 0) {
            $sti = dbarray($result);
            print "<br>SQL: SELECT * FROM bounce_albums WHERE `album_name` = '".$_POST['D2']."'<br>";
            print "<br>Resultat: ".$sti."<br>";
            $test = $sti['sti'];
        }

/mvh
</bole>
Avatar billede dk-andersson Nybegynder
25. oktober 2007 - 11:14 #8
okay har fundet fejlen nu, det var at $_POST['D2'] ikke indholdt noget, fordi den kommer ignnem 2 submit inden den kommer til der hvor vi er i koden nu. Så nu virker det som det skal

men tak for jeres forsøg
Avatar billede olebole Juniormester
25. oktober 2007 - 11:26 #9
"men tak for jeres forsøg" >> sjovt lille 'men', du har der  ;o)
Avatar billede jakobdo Ekspert
25. oktober 2007 - 17:52 #10
:o)
Avatar billede dk-andersson Nybegynder
12. oktober 2010 - 10:48 #11
lukker
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