Avatar billede Slettet bruger
10. juni 2003 - 18:44 Der er 11 kommentarer og
1 løsning

Billede upload

Hey

Er der nogen som kan hjælpe mig med at lave et upload script?
Det skal være muligt at skrive en max størrelse på billede (MB).
Billedet må ikke være større end 90*90 pixels.
Og lige tilsidst, så skal der gemmes et link i min SQLdatabase.
Avatar billede ahv Nybegynder
10. juni 2003 - 18:45 #1
Avatar billede ahv Nybegynder
10. juni 2003 - 18:47 #2
Det opfylder ikke alle dine krav; 10 min så har jeg et.
Avatar billede ahv Nybegynder
10. juni 2003 - 18:52 #3
Noget lignende det her; indsætter også en tekst samt bredden og højden på bileldet:

<?php
if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $file = $_FILES['upfil']['tmp_name'];
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "100") {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 100 kb
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
    $bwh = GetImageSize($files);
    if ($bwh['0'] > 90 || $bwh['1'] > 90) {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 90x90
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
    $sti = "/test/";
    $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
    $billedewh = @GetImageSize($file);
    $temparr = explode(".", $files);
    $temparr[count($temparr)-2] = time();
    $files = implode(".", $temparr);
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    $connection = mysql_pconnect("host","user","pass");
    mysql_select_db("database");
    mysql_query("insert into billeder (navn, tekst, dato, filnavn, height, width) values ('$_POST[navn]', '$_POST[tekst]', now(), '$files', '$billedewh[0]', '$billedewh[1]')");
    echo "Din fil er nu uploadet<br><br>";
}
?>
<form action="test.php" method="post" enctype="multipart/form-data">
<b>Navn:</b><input type="text" name="navn"><br>
<b>Tekst:</b><input type="text" name="tekst"><br>
<b>Fil til upload:</b><input type="file" name="upfil"><br>
<input type="submit" value="upload" name="up">
</form>
Avatar billede ahv Nybegynder
10. juni 2003 - 18:53 #4
Den omdøber også filnavnet til sekunder siden 1970, for at to billeder ikke skal overskrive hinaden fordi de har samme navn.
Avatar billede ahv Nybegynder
10. juni 2003 - 19:05 #5
Lille rettelse:

<?php
if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $file = $_FILES['upfil']['tmp_name'];
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "100") {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 100 kb
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
    $billedewh = @GetImageSize($file);
    if ($billedewh['0'] > 90 || $billedewh['1'] > 90) {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 90x90
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
    $sti = "/test/";
    $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
    $temparr = explode(".", $files);
    $temparr[count($temparr)-2] = time();
    $files = implode(".", $temparr);
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    $connection = mysql_pconnect("host","user","pass");
    mysql_select_db("database");
    mysql_query("insert into billeder (navn, tekst, dato, filnavn, height, width) values ('$_POST[navn]', '$_POST[tekst]', now(), '$files', '$billedewh[0]', '$billedewh[1]')");
    echo "Din fil er nu uploadet<br><br>";
}
?>
<form action="test.php" method="post" enctype="multipart/form-data">
<b>Navn:</b><input type="text" name="navn"><br>
<b>Tekst:</b><input type="text" name="tekst"><br>
<b>Fil til upload:</b><input type="file" name="upfil"><br>
<input type="submit" value="upload" name="up">
</form>
Avatar billede Slettet bruger
10. juni 2003 - 19:17 #6
Skal min SQl database se sådan ud:

CREATE TABLE billeder(
id unsigned NOT NULL auto_increment,
navn varchar(255),
tekst varchar(255),
dato varchar(255),
filnavn varchar(255),
height varchar(255),
width varchar(255)
);

Filen test.php Hvad skal den indholde?
Avatar billede Slettet bruger
10. juni 2003 - 19:25 #7
ups sådan her:
CREATE TABLE billeder(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
navn varchar( 255 ) ,
tekst varchar( 255 ) ,
dato varchar( 255 ) ,
filnavn varchar( 255 ) ,
height varchar( 255 ) ,
width varchar( 255 )
)
Avatar billede Slettet bruger
10. juni 2003 - 19:25 #8
);
Avatar billede ahv Nybegynder
10. juni 2003 - 20:09 #9
CREATE TABLE `billeder` (
  `id` int(11) NOT NULL auto_increment,
  `navn` varchar(250) NOT NULL default '',
  `tekst` varchar(250) NOT NULL default '',
  `dato` datetime NOT NULL default '0000-00-00 00:00:00',
  `filnavn` varchar(100) NOT NULL default '',
  `height` int(4) NOT NULL default '',
  `width` int(4) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
Avatar billede Slettet bruger
12. juni 2003 - 20:09 #10
Hvad skal test.php indholde?
Avatar billede ahv Nybegynder
12. juni 2003 - 22:05 #11
Det er test.php jeg har lavet der, du kan bare sætte den til at referer til dig selv med:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Avatar billede Slettet bruger
13. juni 2003 - 13:16 #12
Så virker det :-)
Jeg takker for din hjælp!
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