Avatar billede den-evil Nybegynder
12. februar 2007 - 22:34 Der er 2 kommentarer og
2 løsninger

Fejl ved billede upload

Hmm, er lige løbet ind i et problem, får denne fejl:


Warning: move_uploaded_file(../userimages/Overlooking Rio.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Sites\MusikkenTilJeresBryllup\admin\webmodule\edit-image-ok.php on line 28

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:/Wampserver/tmp\php12F7.tmp' to '../userimages/Overlooking Rio.jpg' in D:\Sites\MusikkenTilJeresBryllup\admin\webmodule\edit-image-ok.php on line 28
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Overlooking Rio.jpg')' at line 1

------------------------------------------
Min kode ser sådanne ud:


<? include("../includes/cnx.php"); ?>
<? include("../includes/rtrnfuncs.php"); ?>

<?
$Doc_ID = $_REQUEST['doc_id'];
$file = $_FILES['userfile'];

if($file == "" ){
        echo '<script>alert("Du skal vælge et billede");</script>';
        echo '<script>history.back(-1);</script>';
}

// Do this process if user has browse the file and click the submit button
$image_types = Array ("image/bmp",
                        "image/jpeg",
                        "image/jpg",
                        "image/pjpeg",
                        "image/gif",
                        "image/x-png");


  if ( !empty( $_FILES['userfile'] ) )
    {
        if ( is_uploaded_file( $_FILES['userfile']['tmp_name'] ) )
        {
            $bname = basename( $_FILES['userfile']['name'] );
            if ( move_uploaded_file( $_FILES['userfile']['tmp_name']
                ,"../userimages/" . $bname ) )
            {
                resize( "../userimages/$bname", "../userimages/$bname", 600, 1000000 );
                //resize( "600/$bname", "300/$bname", 300, 1000000 );
                //resize( "300/$bname", "200/$bname", 200, 1000000 );
                //resize( "200/$bname", "100/$bname", 100, 1000000 );
                // Gem evt $bname i databasen
            }
        }
    //}

  $file_name = $_FILES["userfile"]["name"];
  $file_size = $_FILES["userfile"]["size"];
  $file_type = $_FILES["userfile"]["type"];

  if (in_array (strtolower ($file_type), $image_types)) {
    $SQL = "INSERT INTO doc_images (image_type, image, image_size, image_name, doc_id, url) ";
    $SQL.= "VALUES ('{$file_type}', '{$userfile}', '{$file_size}', '{$file_name}', '{$Doc_ID}, '{$bname}')";

    $mq = mysql_query($SQL) or die(mysql_error());

    ?>
    <script>document.location.href="edit-image.php?doc_id=<?=$Doc_ID?>&t=<?=time()?>;>"</script>
    <?
    exit();
  }
}
?>
Avatar billede mr_chaos Praktikant
12. februar 2007 - 23:02 #1
Finder ../userimages/ og har du skrive adgang dertil ?
Desuden ser det ud til at du glemmer at bruge mysql_real_escape_string til at escape dataene når de skal i databasen.
Avatar billede den-evil Nybegynder
13. februar 2007 - 17:37 #2
Har nu givet skriveadgang til mappen, men får nu bare en SQL fejl:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'IMG008.JPG')' at line 1
Avatar billede mr_chaos Praktikant
13. februar 2007 - 22:14 #3
Prøv at skrive din sql ud.

echo $SQL;

og prøv evt. at bruge sprintf
$SQL = sprintf("INSERT into doc_images(image_type, image, image_size, image_name, doc_id, url) values('%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($file_type), mysql_real_escape_string($userfile), mysql_real_escape_string($file_size), mysql_real_escape_string($file_name), mysql_real_escape_string($Doc_ID), mysql_real_escape_string($dbname));
Avatar billede den-evil Nybegynder
13. februar 2007 - 22:30 #4
det funger nu, takker
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