Gå til innhold

trenger hjelp med upload-script


Anbefalte innlegg

Jeg holder på å lage et bildeupload-script, som jeg skal bruke til å laste opp bilder til news-scriptet mitt. I første omgang vil jeg bare få scriptet til å laste opp et bilde , resize det og legge det i ei bestemt mappe. Jeg har funnet et godt utgangspunkt, men får det ikke til å virke...

 

form

<form action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Velg bilde: <input type="file" name="uploaded"><br/>
<br>
<input type="submit" value="Last opp">
</form> 

 

upload.php

<?php

//Don't Forget to change this to your upload folder!
$upload_folder = "C:\AppServ\www\upload";

if (!isset($_FILES['uploaded']['tmp_name']))
{
   //send user back to the form
   header("Location: news.php");
   exit();
}
if (is_uploaded_file($_FILES['uploaded']['tmp_name']))
{
   //Get the Filename and the File Type
   $fileName = $_FILES['uploaded']['name'];
   $fileType = $_FILES['uploaded']['type'];
   
   //Check if the file exists
   if (file_exists($fileName))
   {
       echo "Duplicate File Found.";
       
       exit();
   }
   else
   {
       //File is unique
       //Now check the File Type
       //Acceptable File Types: jpg/jpeg/pjpeg, gif and png
       if (($fileType == 'image/jpg') || ($fileType == 'image/pjpeg') || ($fileType == 'image/jpeg') || ($fileType == 'image/gif') || ($fileType == 'image/png'))
       {
           //Move the uploaded file to the current directory
           if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$upload_folder.''.$fileName))
           {
               //File Uploaded!
               echo "File: ".$fileName." has been uploaded!";
               exit();
           }
           else
           {
               echo "Unable to upload file: ".$fileName;
             
               exit();
           }
       }
       else
       {
           echo $fileType. ": Unknown File Type!";
           include 'form.php';
           exit();
       }
   }
}
else
{
   echo "No File Selected or File too Large!";
   exit();
}

?>

Lenke til kommentar
Videoannonse
Annonse

Det så ut til å funke fint når jeg satte inn form enctype="multipart/form-data", jeg fikk meldingen file has been uploaded!. Men når jeg så uploadmappen, hadde ingenting kommet fram...

 

kan det være noe galt her?

 

  //Move the uploaded file to the current directory
          if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$upload_folder.''.$fileName))
          {
              //File Uploaded!
              echo "File: ".$fileName." has been uploaded!";
              exit();
          }

Lenke til kommentar

mappen ligger i den banen ja..kjører egen server med windows platform og da er det vel ikke nødvendig å chmodde mappen heller..

 

EDIT: Fant ut at bilde blir uploadet, men det havner i banen: c:\appserv\www i stedet for c:\appserv\www\upload. måtte av en eller annen grunn endre til $upload_folder = c:\appserv\www\upload\upload for at det skulle funke...

Endret av Tha_Zaynt
Lenke til kommentar

Nå funker selve upload-scriptet. Neste oppgave er å legge til en funksjon som resizer bildene jeg laster opp og gjør de mindre (i kb) . Noen som har forslag til hvor og hvordan og hvor jeg kan implementere dette?

 

upload.php

<?php

//Don't Forget to change this to your upload folder!
$uploadfolder = "C:/Appserv/www/upload/";

if (!isset($_FILES['uploaded']['tmp_name']))
{
   //send user back to the form
   header("Location: news.php");
   exit();
}
if (is_uploaded_file($_FILES['uploaded']['tmp_name']))
{
   //Get the Filename and the File Type
   $fileName = $_FILES['uploaded']['name'];
   $fileType = $_FILES['uploaded']['type'];
   
   //Check if the file exists
   if (file_exists($fileName))
   {
       echo "Fant en kopi av filen";
       
       exit();
   }
   else
   {
       //File is unique
       //Now check the File Type
       //Acceptable File Types: jpg/jpeg/pjpeg, gif and png
       if (($fileType == 'image/jpg') || ($fileType == 'image/pjpeg') || ($fileType == 'image/jpeg') || ($fileType == 'image/gif') || ($fileType == 'image/png'))
       {
           //Move the uploaded file to the current directory
           if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$uploadfolder.''.$fileName))
           {
               //File Uploaded!
               echo "Filen: ".$fileName." ble lastet opp!";
               exit();
           }
           else
           {
               echo "Opplastingen mislyktes for denne filen: ".$fileName;
             
               exit();
           }
       }
       else
       {
           echo $fileType. ": ukjent filtype!";
         
           exit();
       }
   }
}
else
{
   echo "Ingen fil valgt eller så er filen for stor";
   exit();
}

?>

Endret av Tha_Zaynt
Lenke til kommentar

Prøvde å legge til funksjonen| Unglar bruker for å lage thumbnails av bildene sine, men fikk bare en haug med feilmeldinger..

 

Warning: Division by zero in c:\appserv\www\news\upload.php on line 22

 

Warning: imagecreatefromjpeg(Array): failed to open stream: No such file or directory in c:\appserv\www\news\upload.php on line 35

 

Warning: imagecreatetruecolor(): Invalid image dimensions in c:\appserv\www\news\upload.php on line 45

 

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in c:\appserv\www\news\upload.php on line 46

 

Warning: imagepng(): supplied argument is not a valid Image resource in c:\appserv\www\news\upload.php on line 47

 

upload.php

<?php

//Don't Forget to change this to your upload folder!
$uploadfolder = "C:/Appserv/www/upload/";

if (!isset($_FILES['uploaded']['tmp_name']))
{
   //send user back to the form
   header("Location: news.php");
   exit();
}
if (is_uploaded_file($_FILES['uploaded']['tmp_name']))
{
   $fil = $_FILES['uploaded'];
   //Get the Filename and the File Type
   $fileName = $_FILES['uploaded']['name'];
   $fileType = $_FILES['uploaded']['type'];
 
$sjekk = explode(".",$fileName);
$size = getimagesize($file); // Finner dimensjonene på bildet

$faktor = $hoyde / $size[1];
$bredde = round($size[0] * $faktor);

if($bredde > 150)
{
  $bredde = 150;
  $xfaktor = $bredde / $size[0];
  $hoyde = $xfaktor * $size[1];
}
//Sjekker for gyldige filtyper
switch (strtolower($sjekk[1]))
{
case "jpg":
   $fileName = imagecreatefromjpeg("$fil");
   break;
case "gif":
   $fileName = imagecreatefromgif("$fil");
   break;
case "png":
   $fileName = imagecreatefrompng("$fil");
   break;
}
//Lager grunnbilde for thumbnail
$nytt = imagecreatetruecolor($bredde, $hoyde);
imagecopyresampled ($nytt,$fileName, 0, 0, 0, 0, $bredde, $hoyde, $size[0], $size[1]);
imagepng($nytt,"$litenfil");
chmod("$litenfil", 0755);  // octal; correct value of mode
return "Laget thumbnail av $fileName";
   
   //Check if the file exists
   if (file_exists($fileName))
   {
       echo "Fant en kopi av filen";
       
       exit();
   }
   else
   {
       //File is unique
       //Now check the File Type
       //Acceptable File Types: jpg/jpeg/pjpeg, gif and png
       if (($fileType == 'image/jpg') || ($fileType == 'image/pjpeg') || ($fileType == 'image/jpeg') || ($fileType == 'image/gif') || ($fileType == 'image/png'))
       {
           //Move the uploaded file to the current directory
           if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$uploadfolder.''.$fileName))
           {
               //File Uploaded!
               echo "Filen: ".$fileName." ble lastet opp!";
               exit();
           }
           else
           {
               echo "Opplastingen mislyktes for denne filen: ".$fileName;
             
               exit();
           }
       }
       else
       {
           echo $fileType. ": ukjent filtype!";
         
           exit();
       }
   }
}
else
{
   echo "Ingen fil valgt eller så er filen for stor";
   exit();
}

?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...