Avatar billede lullalej Nybegynder
09. november 2006 - 16:57 Der er 9 kommentarer og
1 løsning

Upload med PHP & MySQL

Hej Eksperter!

Jeg har brug for et upload script, der kun kan uploade JPG-filer, og kalder dem noget så der ikke pludselig er 2 ens filer.
Samtidig skal den også lave en kopi af filen som ligger i en anden mappe, men hedder det samme, men den skal komprimere det.

Jeg håber der er nogen der kan hjælpe mig, jeg har efterhånden prøvet mange forskellige scripts, men intet der har passet til mine krav.

Jeg gi'r 200 point til den der kommer med dette script.

Hvis i ikke kan finde ud af at lave det med at uploade i 2 forskellige størrelser, så er der 150 point :)

Jeg håber nogen vil hjælpe mig, på forhånd tak.
Avatar billede zynzz Praktikant
09. november 2006 - 17:15 #1
Jeg har ikke selv testet det :)


<form method=post enctype="multipart/form-data" action="index.php">
<input type="file" name="upload"><br>
<input type=submit value="upload"><br>
</form>

<?
// Sti på mappen hvor filerne skal vises
$dir1 = "../files/";

// Sti til backup
$dir2 = "../files/";

// Sti til information om filnavn
$dir2 = "../files/";




if ($_FILES['upload']['tmp_name']) {


// Gemmer billedernes navn fra 1-?
  $fp = fopen($dir3, 'r');
  $id = fgets($fp, 1024);
  fclose($fp);

  $billednavn = $id;
  $id++;
 
  $fp = fopen($dir3, 'w');
  fputs($fp, $id);
  fclose($fp);

 
  if (move_uploaded_file($_FILES['upload']['tmp_name'], $dir1.$billednavn) && move_uploaded_file($_FILES['upload']['tmp_name'], $dir2.$billednavn){
      echo "Filen blev uploadet korrekt!";
      }
  else {
      echo "Der er opstået en fejl!";
      }
  }

?>
Avatar billede zynzz Praktikant
09. november 2006 - 17:15 #2
Det skal så lige siges den komprimere intet...
Avatar billede lullalej Nybegynder
09. november 2006 - 17:28 #3
Hmm den ændrer heller ikke filnavnet så vidt jeg kan se, og bruger heller ikke noget MySQL... Ved godt jeg glemte at skrive det med MySQL i teksten... Det er heller ikke så svært at inkludere...
Avatar billede zynzz Praktikant
09. november 2006 - 17:54 #4
Det med filnavnet laver den altså..., men hvad skal den gemme i mysql ?
Avatar billede lullalej Nybegynder
09. november 2006 - 17:57 #5
Ja, sry, har jeg også lige fundet ud af... Den behøver egentlig ikke gemme noget i mysql når den navngiver dem på den måde :)

Nu skal jeg bare finde ud af hvorfor den melder fejl ;)


Warning: fopen(/usr/local/virtualwww/www/dok/opsaetningsfiler/): failed to open stream: Is a directory in /usr/local/virtualwww/www/dok/upload2.php on line 29

Warning: fputs(): supplied argument is not a valid stream resource in /usr/local/virtualwww/www/dok/upload2.php on line 30

Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/virtualwww/www/dok/upload2.php on line 31

Warning: move_uploaded_file(/usr/local/virtualwww/www/dok/opsaetningsfiler/): failed to open stream: Is a directory in /usr/local/virtualwww/www/dok/upload2.php on line 34

Warning: move_uploaded_file(): Unable to move '/tmp/phptFvTdB' to '/usr/local/virtualwww/www/dok/opsaetningsfiler/' in /usr/local/virtualwww/www/dok/upload2.php on line 34
Der er opstået en fejl!
Avatar billede zynzz Praktikant
09. november 2006 - 19:13 #6
Du skal lige lave en .txt fil hvor du skriver 0 i... :=) husk chmod 777
Avatar billede lullalej Nybegynder
09. november 2006 - 19:33 #7
jeg kan så se at den uploader filerne, men de får ingen extension...
Avatar billede lullalej Nybegynder
09. november 2006 - 19:37 #8
<form method="post" enctype="multipart/form-data" action="">
<input type="file" name="upload"><br>
<input type="submit" value="upload"><br>
</form>

<?

// Sti på mappen hvor filerne skal vises
$dir1 = "/var/www/billeder/";

// Sti til backup
$dir2 = "/var/www/billeder/";

// Sti til information om filnavn
$dir3 = "/var/www/billeder/0.txt";

if($_FILES['upload']['tmp_name']) {

    // Gemmer billedernes navn fra 1-?
    $fp = fopen($dir3, 'r');
    $id = fgets($fp, 1024);
    fclose($fp);

    $billednavn = $id;
    $id++;

    $fp = fopen($dir3, 'w');
    fputs($fp, $id);
    fclose($fp);

    if(move_uploaded_file($_FILES['upload']['tmp_name'], $dir1.$billednavn) && move_uploaded_file($_FILES['upload']['tmp_name'], $dir2.$billednavn)) {
        echo "Filen blev uploadet korrekt!";
    } else {
      echo "Der er opstået en fejl!";
    }

}

?>


billeder og filen 0.txt har CHMOD 0777, filen 0.txt indeholder kun: 0 som nu er blevet rettet til 2
Avatar billede lullalej Nybegynder
20. februar 2007 - 21:13 #9
Skal du ha' point, så opret et svar ;)
Avatar billede zynzz Praktikant
21. februar 2007 - 07:53 #10
Okay her er et svar
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