11. september 2006 - 17:08Der er
62 kommentarer og 1 løsning
Hjælp til multi upload
Hej eksperter. Jeg har et upload script der uploader 1 fil af gangen samtidig med at den resizer den + indsætter et mærke på billedet. Samtidig med den selvfølgelig indsætter dataerne i en mysql. Nu skal jeg så have lavet den om så jeg evt. kan uploade 10 filer af gangen, samtidig med at den laver det den skal ved hver fil.
Ja det har jeg men er ikke online før imorgen-morgen engang da jeg skal hjem fra arbejde nu her om lidt, og skal så hjem til min kæreste. Den siger hveken "Billed(erne) er nu lagt op." eller "Der skete en fejl under uploadingen" ??
Har lige indsat det du postede og stadig hvid skærm
Nej kan ikke se noget som helst
og vis kilde giver:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD> <BODY></BODY></HTML>
bare iorden, håber vi skrives imorgen. tak for hjælpen indtil nu
Synes godt om
Slettet bruger
12. september 2006 - 10:46#23
Men du skal da ikke selv bestemme hvilke temp mappe det skal ind i?! Så den sletter jeg lige igen.
Synes godt om
Slettet bruger
12. september 2006 - 11:05#24
Men nu skal jeg lige have styr på alle dine mapper: Du har fotos/ane/ hvor filerne først gang skal kopieres ind i? Så har du images/fotologo.gif, som er dit logo. Så har du forskellige undermapper i mappen fotos, hvor du hiver det med i en $_POST, og så filen. Altså fotos/$_POST/filnavn.
fotos/ane var bare noget jeg skrev. mappen temp er der hvor billederne midltertigigt ryger ind hvor de får sat images/fotologo.gif på hvor de derefter bliver gemt endeligt i fotos/$_POST og slettes fra temp mappen. forstår du?
Synes godt om
Slettet bruger
12. september 2006 - 16:08#26
okay nu forstår jeg tror jeg.
Synes godt om
Slettet bruger
12. september 2006 - 16:09#27
Jeg har testet det hos mig og det virker perfekt, og sletter som sagt temp filen osv.
Koden til upload.php
<?PHP class Upload { var $temp_name; var $name; var $dir; var $temp_dir; var $error_msg; var $myselection;
// Ryd op (inkl. sletning af midlertidig fil) @ImageDestroy($pic1); @ImageDestroy($pic2); @unlink($temp_dir.$name); return true; } }//ends the function file_upload
} //ends the class Upload ?>
Synes godt om
Slettet bruger
12. september 2006 - 16:09#28
min upload_test.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
Og husk at give rettighed til de mapper du vil have filerne skal kunne læse fra og skrive til.
I mit tilfælde har jeg mapperne: + foto (Har givet den chmod 777) |_ 2 (chmod 777) - denne mappe og den neden under det er der hvor filen bliver lagt op i alt efter selectionen på upload siden. |_1 (chmod 777) - ^^
+ images (chmod 777) - tror ikke det behøves. (fotologo.gif lægger her i)
+ myTemp (chmod 777) - de midlertidig filer - bliver slettet.
Synes godt om
Slettet bruger
12. september 2006 - 16:15#30
Du skal nok lige udkommenter dette understående i filen upload.php
// Ryd op (inkl. sletning af midlertidig fil) @ImageDestroy($pic1); @ImageDestroy($pic2); @unlink($temp_dir.$name); return true; } }//ends the function file_upload
jep, det kører uden fejl. men det skal lige rettes til. jeg har lavet en mappe der hedder ane på sitet og lavet en option i selection der hedder ane. men selvom jeg vælger ane ryger de ikke i ane mappen, men bare i fotos mappen.
og vi skal have den til at skrive i databasen for hvert billede (se min første kode): $db->ExecSQL("INSERT INTO snm_galleri (galleri,billede)VALUES('".$_POST["select"]."','".$_POST["select"]."/".$filnavn."')"); echo "<script language='Javascript'> alert ('Billedet er uploadet!') </script>"; echo "<script> location = 'admin_billeder.php' </script>";
Synes godt om
Slettet bruger
12. september 2006 - 17:15#35
Hvad hedder din klasse til din connection, og inserts? og hvad hedder filen?
finder det lige.. imens- hvorfor gider den så kun at ligge billederne i fotos mappen og ikke den mappe jeg vælger i select? har en mappe der hedder test og ane nu. og har lavet: <option value="2">ane</option> <option value="1">test</option>
men de ryger ikke i dem, stadig kun i fotos mappen
Synes godt om
Slettet bruger
12. september 2006 - 17:27#39
Det er en fejl i koden, men du skal rette value="mappenavn"> <option value="2">ane</option> <option value="1">test</option>
jamen det eneste class jeg har er jo class DB { var $DBHost; var $DBUser; var $DBPass; var $DBName; var $DBConn;
men det er jo ik nok ?
Synes godt om
Slettet bruger
12. september 2006 - 17:30#41
Det var bare 'DB' jeg skulle vide (altså class navn som er => DB)
Synes godt om
Slettet bruger
12. september 2006 - 17:30#42
Lægger din db_con.php i samme mappe som upload.php?
Synes godt om
Slettet bruger
12. september 2006 - 17:31#43
Hvis den gør så skulle det gerne virke:
<?PHP include("db_con.php"); //din connection fil class Upload EXTENDS DB { var $temp_name; var $name; var $dir; var $temp_dir; var $error_msg; var $myselection;
// Ryd op (inkl. sletning af midlertidig fil) @ImageDestroy($pic1); @ImageDestroy($pic2); @unlink($temp_dir.$name); $this->insert(); return true; } }//ends the function file_upload
function insert() { $myselection = $this->myseletion; $name = $this->name; $this->$db->ExecSQL("INSERT INTO snm_galleri (galleri, billede)VALUES('".$myselection."','".$myselection."/".$name."')"); echo "<script language='Javascript'> alert ('Billedet er uploadet!') </script>"; echo "<script> location = 'admin_billeder.php' </script>"; }//ends the function insert } //ends the class Upload ?>
jeg prøver lige det hvor den indsætter i databasen efter vi fundet ud af hvorfor den selection ikke virker. selvom jeg har: <option value="ane">ane</option> <option value="test">test</option> og jeg har mapperne test og ane.. dvs de ligger på (fotos/ane og fotos/test) så uploader den stadig til fotos. vi har ikk overset et / eller lign?
Synes godt om
Slettet bruger
12. september 2006 - 17:48#46
Hos mig smider den det i den rigtige mappe, men har du ændret noget i forhold til det jeg har lavet?
og hvis jeg sætter den til at printe ud hvad der sker: Temp: /tmp/phpWWwNwO Temp_dir: temp/ Name: Vinter.jpg Dir: fotos/ Selection: ane Scale: 600/450 (0.75) Wscale: 0.75 Hscale: 0.75
Synes godt om
Slettet bruger
12. september 2006 - 18:14#49
Prøv fjern kommenteringen på den nedereste del linje 67 - 71, og fortæl mig hvad den siger.
I din upload_test.php prøv fjern det udkommenteret der, linje 30 - 35, og fortæl mig hvad den siger.
det er godt nok underligt. men jeg skal lige til noget møde fra 7 - 8 ca. så kommer jeg igen, du kan evt. poste din msn hvis du ikke kan finde fejlen, så kan vi snakkes der
Vi fik det til at virke, men sOmmer havde så et ekstra spørgsmål og det var fordi scriptet sætter mærke/logo på og derefter resizer. Men han ønskede den først resize'de og så satte mærke/logoet på.
Så det har jeg lavet, jeg og ham har skrevet sammen over msn og det gør vi også idag, og finder ud af om det skulle være fint nok.(?) Hvis det er fint nok, så poster jeg lige koden ind her.
Synes godt om
Slettet bruger
13. september 2006 - 15:01#59
Så fik vi det til at virke, så nu er den der, jeg poster lige koden. Det er 2 filer.
Synes godt om
Slettet bruger
13. september 2006 - 15:02#60
upload_test.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
//Inds‘ltter logo med 80% blanding if(!ImageCopyMerge($dstim, $pic2, $nw-$lsizeX, $nh-$lsizeY, 0, 0, $lsizeX, $lsizeY, 100)) { $this->error_msg = "imagecopymerge melder fejl"; return false; } //bool imagecopymerge ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct )
// Ryd op (inkl. sletning af midlertidig fil) @ImageDestroy($pic1); @ImageDestroy($pic2); @unlink($temp_dir.$name); $this->insert(); return true; } }//ends the function file_upload
function insert() { $myselection = $this->myselection; $myselection = $this->myselection; $name = $this->name; mysql_connect('localhost', 'bruger', 'kode', 'db'); mysql_select_db('db'); mysql_query("INSERT INTO snm_galleri (galleri, billede)VALUES('".$myselection."','".$myselection."/".$name."')"); echo "<script language='Javascript'> alert ('Billedet er uploadet!') </script>"; echo "<script> location = 'admin_billeder.php' </script>"; }//ends the function insert } //ends the class Upload ?>
jeg takker mange gange -> utrolig god hjælp fra coldgate
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.