Avatar billede hjorten92 Nybegynder
25. marts 2011 - 21:36 Der er 8 kommentarer

Uploade billed mysql/php

Den gider ikke uploade, den bliver ved med at skrive det er den forkerte type selvom det er jpg.

$go=0;

if($_FILES["image"]["name"]) {

$size = $_FILES["image"]["size"] / 1024;

if($size > 0 && $size < 1023) {

$fra = $_FILES["image"]["tmp_name"];

$fra2 = $_FILES["image"]["name"];

$tilp = $_FILES["image"]["type"];

$tiltype = strstr($_FILES["image"]["type"],"/");

$tiltype = substr($tiltype,1);

if ($tiltype == "bmp" || $tiltype == "gif" || $tiltype == "pjpeg" || $tiltype == "x-png") {

$tiltype = str_replace("x-png","png",$tiltype);

$tiltype = str_replace("pjpeg","jpg",$tiltype);

$til = "billeder/".time().rand(0000,9979)."-".$fra2;

if(function_exists("move_uploaded_file")) {

move_uploaded_file($fra, $til);

$img = "$til";

$go=1;

} else {

copy($fra, $til);

$img = "$til";


$go=1;

}

} else {

$error='<font color=red>Forkert fil-format</font>';

}

} else {

$error='<font color=red>Fil over 1 MB</font>';}

} else {

$error='<font color=red>Ingen fil fundet</font>';}







if ($go) {

$id = $row["id"];

$overskrift = $row["overskrift"];

$image = $row["image"];

$fra = $row["fra"];

$til = $row["til"];

$dato = date('d/m/Y');

$kampagne = $row["kampagne"];

mysql_query("INSERT INTO kampagner (overskrift, image, fra, til, dato, kampagne) VALUES ('$_POST[overskrift]', '$img', '$_POST[til]', '$_POST[fra]', '$dato', '$_POST[kampagne]')");

mysql_close();

echo "kampagnen er tilføjet, great! :o)";

}

else {

echo "Kunne ikke tilføjes, pga.:<br>".$error;
Avatar billede heinzdmx Nybegynder
25. marts 2011 - 22:17 #1
Nu er pjpeg heller ikke det samme som jpg.
Avatar billede hjorten92 Nybegynder
25. marts 2011 - 23:51 #2
Nej men har prøvet alle fil typer png, bmp osv.
Avatar billede heinzdmx Nybegynder
26. marts 2011 - 00:33 #3
Hvorfor egentlig gøre alt det besvær ud af at fjerne image/ fra din contenttype?

$tilp = $_FILES["image"]["type"];

if ($tilp == "image/bmp" || $tilp == "image/gif" || $tilp == "image/jpeg" || $tilp == "image/png")
Avatar billede heinzdmx Nybegynder
26. marts 2011 - 00:56 #4
Desuden vil den sidste del af din else sætning aldrig blive kørt...

Følgende vil være mit bud, hvor der er tilpasset lidt efter hvad jeg vil tro du gerne vil. Dine if-sætninger er noget rod.

<?
$go=false;
$error = "";
if($_FILES["image"]["name"])
{
    $size = $_FILES["image"]["size"] / 1024;

    if($size > 0 && $size < 1023)
    {
        $fra = $_FILES["image"]["tmp_name"];
        $fra2 = $_FILES["image"]["name"];
        $tilp = $_FILES["image"]["type"];
       
        if ($tilp == "image/bmp" || $tilp == "image/gif" || $tilp == "image/jpeg" || $tilp == "image/png")
        {
            $til = "billeder/".time().rand(0000,9979)."-".$fra2;
           
            if(function_exists("move_uploaded_file"))
            {
                move_uploaded_file($fra, $til);
                $img = "$til";
                $go=true;
            }
            else
            {
                copy($fra, $til);
                $img = "$til";
                $go=true;
            }
        }
        else
        {
            $error='<font color=red>Forkert fil-format</font>';
        }
    }
    else
    {
        $error='<font color=red>Fil over 1 MB</font>';}
    }
}
else
{
    $error='<font color=red>Ingen fil fundet</font>';}
}

if ($go)
{
    $id = $row["id"];
    $overskrift = $row["overskrift"];
    $image = $row["image"];
    $fra = $row["fra"];
    $til = $row["til"];
    $dato = date('d/m/Y');
    $kampagne = $row["kampagne"];
   
    mysql_query("INSERT INTO kampagner (overskrift, image, fra, til, dato, kampagne) VALUES ('$_POST[overskrift]', '$img', '$_POST[til]', '$_POST[fra]', '$dato', '$_POST[kampagne]')");

    echo "kampagnen er tilføjet, great! :o)";
}
else if ($error != "")
{
    echo "Kunne ikke tilføjes, pga.:<br>".$error;
}
else
{
    echo "Uknown error";
}
?>
Avatar billede hjorten92 Nybegynder
27. marts 2011 - 15:31 #5
Warning: move_uploaded_file(billeder/13012326208144-36959_407307929557_612704557_4144862_5962633_n.jpg): failed to open stream: No such file or directory in /customers/adeostudio.com/adeostudio.com/httpd.www/pnt/kampagne/gem.php on line 33 Warning: move_uploaded_file(): Unable to move '/customers/adeostudio.com/adeostudio.com/tmp/phpacDcJM' to 'billeder/13012326208144-36959_407307929557_612704557_4144862_5962633_n.jpg' in /customers/adeostudio.com/adeostudio.com/httpd.www/pnt/kampagne/gem.php on line 33 kampagnen er tilføjet, great! :o)
Avatar billede heinzdmx Nybegynder
27. marts 2011 - 15:59 #6
Prøv at tilrette til:

$til = $SERVER["DOCUMENT_ROOT"]."billeder/".time().rand(0000,9979)."-".$fra2;
Avatar billede hjorten92 Nybegynder
27. marts 2011 - 16:17 #7
Klasse tusind tak send svar :)
Avatar billede heinzdmx Nybegynder
27. marts 2011 - 16:40 #8
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
Kurser inden for grundlæggende programmering

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