Avatar billede lasse-p3 Nybegynder
23. april 2009 - 14:10 Der er 12 kommentarer og
1 løsning

Uploader ikke billeder

Hvorfor kan dette script ikke uploade billeder? Det placerer fint nok et indlæg i mysql databasen men der dukker ingen billeder op i mappen. Mappen er gjort 777

<?php
if(isset($_POST['upload']))
{


    $text = $_POST['titel'];
    mysql_connect("localhost", "m", "m") or die(mysql_error());
    mysql_select_db("madebylasse_dk") or die(mysql_error());
    mysql_query("INSERT INTO pixelbilleder (titel) VALUES ('$text')") OR DIE(mysql_error());
    $id = mysql_insert_id();
    $extension = 'jpg';


  for($i = 1; $i <= 2; $i++){
        if (move_uploaded_file($_FILES['minfil']['tmp_name'], '/customers/madebylasse.dk/madebylasse.dk/httpd.www/Billeder/' . $id . '-' . $i . '.jpg'))
{
            echo 'Fil: ' . $i . ' - Uploaded';
        }else{
            echo 'Fil: ' . $i . ' - Fejl';
        }
    }
}
else
{
?>

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    Vælg fil 1 som er lille: <input name="minfil[1]" type="file"><br />
    Vælg fil 2 som er stor: <input name="minfil[2]" type="file"><br />
    Titel på billede: <input type="text" name="titel"><br />

    <input type="submit" name="upload" value="Upload fil">
</form>

<?
}
?>
Avatar billede showsource Seniormester
23. april 2009 - 15:03 #1
$_FILES['minfil']['tmp_name'][$i]

vil jeg mene
Avatar billede lasse-p3 Nybegynder
23. april 2009 - 15:27 #2
Det duede ikke desværre :-(
Avatar billede showsource Seniormester
23. april 2009 - 15:40 #3
Du kan evt. blot bruge minfil[] som name

for($i = 0; $i < count($_FILES["minfil"]["name"]); $i++) {
echo $_FILES["minfil"]["name"][$i]."<br>";
}
Avatar billede showsource Seniormester
23. april 2009 - 15:44 #4
Evt. prøve med:

<?php

$$uploaddir = "/customers/madebylasse.dk/madebylasse.dk/httpd.www/Billeder/";

if(!is_dir($uploaddir)) {
echo"Dir findes ikke!";
exit;
}

if(!is_writable($uploaddir)) {
echo"Ingen skrive rettigheder til ".$uploaddir;
exit;
}


// resten af din fil....

?>
Avatar billede lasse-p3 Nybegynder
23. april 2009 - 15:54 #5
OK, den siger Dir findes ikke, så det må være der problemet er?
Avatar billede showsource Seniormester
23. april 2009 - 15:57 #6
Ja, men du skal også huske $i når du flytter filen.
Avatar billede lasse-p3 Nybegynder
23. april 2009 - 16:00 #7
I hvilken sammenhæng?
Avatar billede showsource Seniormester
23. april 2009 - 16:03 #8
Mit første indlæg.
Men ser lige at jeg fik smidt to $ tegn foran uploaddir !!!!!
Avatar billede lasse-p3 Nybegynder
23. april 2009 - 16:16 #9
Hmm det virker ikke. Desværre.
Avatar billede showsource Seniormester
23. april 2009 - 16:29 #10
Prøv:

<?php

$uploaddir = "/customers/madebylasse.dk/madebylasse.dk/httpd.www/Billeder/";

if(!is_dir($uploaddir)) {
echo"Dir findes ikke! ".$uploaddir;
exit;
}

if(!is_writable($uploaddir)) {
echo"Ingen skrive rettigheder til ".$uploaddir;
exit;
}

if(isset($_POST['upload']))
{

    $text = $_POST['titel'];
    mysql_connect("localhost", "m", "m") or die(mysql_error());
    mysql_select_db("madebylasse_dk") or die(mysql_error());
    mysql_query("INSERT INTO pixelbilleder (titel) VALUES ('$text')") OR DIE(mysql_error());
    $id = mysql_insert_id();
    $extension = 'jpg';

  for($i = 1; $i <= 2; $i++){
        if (move_uploaded_file($_FILES['minfil']['tmp_name'][$i], $uploaddir . $id . '-' . $i . '.jpg'))
        {
            echo 'Fil: ' . $i . ' - Uploaded';
        }else{
            echo 'Fil: ' . $i . ' - Fejl';
        }
    }

}

else
{
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    Vælg fil 1 som er lille: <input name="minfil[1]" type="file"><br />
    Vælg fil 2 som er stor: <input name="minfil[2]" type="file"><br />
    Titel på billede: <input type="text" name="titel"><br />

    <input type="submit" name="upload" value="Upload fil">
</form>

<?php
}
?>
Avatar billede lasse-p3 Nybegynder
23. april 2009 - 16:33 #11
Det virkede! Hvad gjorde du helt specifikt?
Avatar billede showsource Seniormester
23. april 2009 - 16:40 #12
Jeg puttede $i på i din forløkke når billeder skulle flyttes.
Og da jeg selv bruger "open_shorttag off" i min php.ini, satte jeg php på starttags.
<?php
og ikke blot
<?
Avatar billede lasse-p3 Nybegynder
23. april 2009 - 16:48 #13
Hmm ok :-)
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