Avatar billede jvjensen Nybegynder
06. april 2009 - 19:55 Der er 8 kommentarer

Forstår ik billeder fra kamera

Hey alle.
Jeg har et stort problem..
Har et script der uploader jpg, jpeg, gif og png.. Men problemet er at den ikke gider billeder der kommer fra et kamera.. Selvom det er jpeg.. Hvordan kan det være?? Ved at hvis man højreklikker på billede og vælger eneskaber kan man se nogle oplysninger om kameraet, men kan det være derfor?? har virkelig brug for en løsning...
Avatar billede jakobdo Ekspert
06. april 2009 - 20:13 #1
Jeg tror du skal uddybe dit spørgsmål.
Evt. hvad er fejlen ?
Bliver billedet ikke uploadet ?
Bliver billedet uploadet, men ikke vist ?
Osv...
Vis evt. upload koden.
exif data kan sagtens håndteres, om det er fra det ene eller andet kamera.
Avatar billede jvjensen Nybegynder
06. april 2009 - 20:19 #2
OK...

her er koden til uploadet... uden min form, men er den rigtige enctype osv...
Har kigget og den uploader billedet, men den kommer slet ik ned dertil hvor den smider det i database, men den uploader billedet fint..


if (isset($_POST['submit'])) {
   
   
    include("includes/db_connect.php");
    require_once ('includes/class.upload.php');
    require_once ('includes/class.img.php');

    if ($_FILES['fil']['error'] != 4) {
        $myUploader = new uploader();
        $myUploader->setDir('filer');
        $myUploader->setFile($_FILES['fil']);
        $myUploader->addTimeStamp();
        $myUploader->setMax_file_size(1097152);
        $myUploader->setAllowed_file_types('gif');
        $myUploader->setAllowed_file_types('jpg');
        $myUploader->setAllowed_file_types('png');
        $myUploader->setAllowed_file_types('jpeg');

        //$myUploader->Upload();
        $image = $myUploader->Upload();
        $myImg = new img('filer/', $image);
        $myImg->setDir('/thumbs');
        $myImg->thumbMaxScale(600, 600);
        $myImg->setDir('/thum');
        $myImg->thumbMaxScale(150, 150);
    }
    if($image == "Fejl. Filen er for stor"){
        echo $image;
    }elseif($image == "Filen blev ikke Uploaded, Prøv Venligst igen "){
        echo $image;
    }elseif($image == "Forkert filetype"){
        echo $image;
    }else{
    echo "Dit billede er blevet uploaded";
   
    if($_POST['synlig'] == 'on'){
        $checkbox = 1;
    }else{
        $checkbox = 0;
    }
   
    addslashes($navn = $_POST['navn']);
    addslashes($byen = $_POST['byen']);
    addslashes($mail = $_POST['mail']);
    addslashes($overskrift = $_POST['overskrift']);
    addslashes($beskrivelse = $_POST['beskrivelse']);
    addslashes($kategori = $_POST['kategori']);
   
    /**** UDREGNING AF TIMESTAMP ****/
   
    /********************************/

    $tid = time();
    $count = 1;
   
   
    mysql_query("INSERT INTO indretning
(kat, dato, overskrift, mail,mail_vises, beskrivelse, forfatter, byen, billede, thumb, stor_thumb) VALUES('$kategori', '$tid', '$overskrift', '$mail', '$checkbox', '$beskrivelse', '$navn', '$byen', '$image', 'thumb_$image', 'thumb_$image') ")
or die(mysql_error());
Avatar billede jakobdo Ekspert
06. april 2009 - 21:01 #3
Betyder det, at den udskriver:

echo "Dit billede er blevet uploaded";
Avatar billede jvjensen Nybegynder
06. april 2009 - 21:12 #4
Nej det er nemlig det den ikke gør... Den uploader billedet fint, men gemmer ikke i databasen, og udskriver intet... Har prøvet at køre en $_FILES['fil']['error'] og den giver 0

ved ik om det giver noget mere at arbejde med??
Avatar billede olebole Juniormester
06. april 2009 - 21:59 #5
<ole>

Hvad udskriver:
    var_dump($_FILES);

Derudover skriver du:
    "her er koden til uploadet... uden min form, men er den rigtige enctype osv... "

- men det kan stadigvæk sagtens være i din HTML/script kode, der er fejl. Hvis du f.eks. scripter mod file inputtet, undrer det ikke, du har problemer  =)

/mvh
</bole>
Avatar billede jvjensen Nybegynder
06. april 2009 - 22:10 #6
den udskriver:
array(1) { ["fil"]=>  array(5) { ["name"]=>  string(10) "kukkku.jpg" ["type"]=>  string(10) "image/jpeg" ["tmp_name"]=>  string(14) "/tmp/php4IpuIp" ["error"]=>  int(0) ["size"]=>  int(647652) } } 1239048570_kukkku.jpg

Hvad alt det der betyder ved jeg ik :)
Avatar billede jvjensen Nybegynder
06. april 2009 - 22:59 #7
Kan da lige komme med lidt hjælp..
Der hvor den tester på om den får fejl i upload er her:

if($image == "Fejl. Filen er for stor"){
        echo $image;
    }elseif($image == "Filen blev ikke Uploaded, Prøv Venligst igen "){
        echo $image;
    }elseif($image == "Forkert filetype"){
        echo $image;
    }else{
    echo "Dit billede er blevet uploaded";
    OG SÅ KOMMER ALT SQL´EN

Der kommer den ikke ind i else`en hvor den skriver dit billed er uploaded, selvom den kommer med samme resultat efter upload...

i min class hvor uploaden er og den finder ud af om der er fejl:

    public function Upload(){
        if (!in_array($this->file_type, $this->allowed_file_types)) {
            return "Forkert filetype";
        }
       
        if ($this->max_file_size >= $this->file['size'])    {
           
            if (move_uploaded_file($this->file['tmp_name'], $this->folder . $this->name)) {
                chmod($this->folder . $this->name, 0777);
                return $this->name;
            }else {
                return "Filen blev ikke Uploaded, Prøv Venligst igen ";
            }
           
        }else {
                return  "Fejl. Filen er for stor";
        }
    }

- Håber det kunne hjælpe yderligere.. Og ville da gerne have lidt response på den der VAR_dumb..
Avatar billede olebole Juniormester
07. april 2009 - 00:34 #8
Jeg håber i det mindste, du selv har styr på, hvordan dine kodestumper hænger sammen  =)
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