11. april 2008 - 19:25Der er
25 kommentarer og 1 løsning
Galleri, fejler online!
Jeg har et lille galleri, som virker fint lokalt. Men når jeg ligger det op på min side, uploader den ikke noget! Den kommer ikke med nogen fejl af nogen art. Det ser ud som om den ligger stien i databasen rigtigt, men billedet bliver ikke lagt op. Mappen har "777" rettigheder, så det burde ikke være der problemet er.
Funktionen jeg bruger til upload: function imageupload($fieldarray) { $data2; $_SESSION['usr'] = "10"; $id = $_SESSION['usr']; $dir = 'upload/'; $types = array('jpg','png'); $idag_timestamp = strtotime("now");
$name1 = $_SESSION['username']; copy($fieldarray['newimage'], $dir.$idag_timestamp.".".$extension); }//end if (move_uploaded... else { $error = "FEJL! - Kan ikke uploade billede:" .basename($fieldarray['newimage']); }//end else }//end if (in_array... else { $error = "Forkert filtype, tilladte filtyper/billedetyper er: (".implode(', ',$types).")";
}//end else }//end if (is_uploaded... else { $error = 'Prøv igen, du har ikke valgt en fil/et billede.'; }//end else
if (!isset($error)) { //$path = $dir.$name; $fieldarray['imagename'] = $idag_timestamp; $fieldarray['path'] = $dir.$idag_timestamp.".".$extension; $fieldarray['filetype'] = $extension; $objInsert = new images; //var_dump ($fieldarray); $objInsert ->insertRecord($fieldarray); }//end if isset error }//end if (isset($_post... }//end function image
$fieldarray ser sådan her ud når jeg kører det offline: array(6) { ["newimage"]=> string(74) "C:\Documents and Settings\Touch my tra la la\Dokumenter\Billeder\efter.jpg" ["event"]=> string(1) "g" ["userID"]=> string(1) "1" ["imagename"]=> int(1207934669) ["path"]=> string(21) "upload/1207934669.jpg" ["filetype"]=> string(3) "jpg" }
Og online ser den sådan har ud: array(6) { ["newimage"]=> string(79) "C:\\Documents and Settings\\Touch my tra la la\\Dokumenter\\Billeder\\efter.jpg" ["event"]=> string(3) "smp" ["userID"]=> string(1) "1" ["imagename"]=> int(1207934706) ["path"]=> string(21) "upload/1207934706.jpg" ["filetype"]=> string(3) "jpg" }
Det undrer mig at det virker for dig lokalt. is_uploaded_file / move_uploaded_file skal bruge $_FILES['dit_file_felt']['tmp_name'] du kan ikke bare give den filnavnet
Jammen den uploader altså billederne når man er på wamp server lokalt... Formen er her: <?php try { if(!@include('../../classes/users.class.php')) { throw new Exception('Failed to load blabla'); }
Nej! den uploader dem IKKE, for det kan den ikke. Den form som du viser kan IKKE sende nogen filer. Den eneste grund til at du tror den uploader er fordi php i stedet for filen, får adressen til filen, og efter som det er en lokal adresse kan den godt flytte billedet fra et sted til et andet, lokalt på din maskine. Men den uploader ALDRIG filen.
Hvis det er " enctype="multipart/form-data" der mangler, så stopper den altså med at virke offline, hvis jeg smider den på. Men så er der data i $_FILES.. Den ser sådan her ud: array(1) { ["newimage"]=> array(5) { ["name"]=> string(9) "efter.jpg" ["type"]=> string(11) "image/x-png" ["tmp_name"]=> string(14) "/tmp/phpIsNlUP" ["error"]=> int(0) ["size"]=> int(15556) } }
Jo nu kommer filen nemlig med. Uploaded filer gemmes normalt i en midlertig mappe på serveren inden de flyttes til den rigtige mappe. Den midlertidig navn kan du få ved $_FILES['newimage']['tmp_name'] Men læs artiklen igennem, så vil du lærer meget mere om hvad du skal gøre, bl.a. hvordan du bruger move_uploaded_file() rigtig.
Jeg fik den til at uploade, men filen hedder noget med "phph9xR0C" og kan ikke læses... Har prøvet at hente den og omdøbe den til .jpg, men den ser ud som om den er kurrupt... :( Går næsten ud fra det er i den her der er noget galt?
Ja jeg skulle bare lige have det sidste skub i den riktige retning! :) Nu har jeg da et simpelt galleri.. Så kan man jo altid udvidde det! Hvis i skulle være interesserede, ligger det her: http://click2create.dk
Jo tak! Meget af det er allerede lavet. Det smarteste er de moduler, det gør det nemlig super let at lave funktionalliteter efter hvad der er brug for. Så skal man bare ligge modulet ind i en mappe, og "installere" det...
Det er mig der har kodet det. :) De andre laver dokumentation, og en C# del, der kan uploade siden til ens domæne.. Der kan man også smide et par ting på, så man ikke starter med en tom side. Også min ide med modulerne.. Jeg har kodet det med udgangspunkt i et projekt jeg lavede med en kammerat tidligere. :)
Synes godt om
Ny brugerNybegynder
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.