Avatar billede staach Nybegynder
05. juli 2005 - 16:31 Der er 4 kommentarer og
1 løsning

Upload af billeder

Hej..Jeg ved der er en del emner ude mht "upload af billeder", og det letteste ville jo have været at kopiere nogen af de forslag dertil..men jeg har forsøgt mig med mit eget..og det har faktisk virket :-). Mit problem er nu at jeg skal have overført det til et andet domæne (men på samme server og med nøjagtig samme opsætning), og her virker det ikke! Scriptet ser sådan ud:
<?
$last_submit = $_POST['bib_menu'];
if($_POST['bib_submit'])
{
$_SESSION['$bibliotek'] = "/kategorier/" . $_POST['bib_menu'] . "/";
}
else if(!$_SESSION['$bibliotek'])
$_SESSION['$bibliotek'] = "/kategorier/";

if(md5("kodeord") == $_SESSION['password'])
{
$_SESSION['admin'] = true;
if($AddButton)
{
  $maxsize = 2000000;
  $pic = $_FILES['pic'];
  $fra = $pic['tmp_name'];
  $id = $pic['name'];
  $path =  $_SESSION['$bibliotek'];
  $til = $_SERVER['DOCUMENT_ROOT'] .$path.$id;
  if($pic['size'] < $maxsize)
  {       
  if (move_uploaded_file($fra, $til))
  {
    echo "<p>Filen '$id' er uploadet!</p>";
    $size = getimagesize($til);    //dimensioner på billedet hentes
    $width = $size[0];
    $height = $size[1];
    $stinavn = $data['stinavn'];
    $filnavn = $data['filnavn'];
    $thumb_picY = 70;       
    $org_picY = 400;
    $forhold = $height/$thumb_picY;
    $thumb_picX = round($width/$forhold);   
    $thumb_filnavn = $_SERVER['DOCUMENT_ROOT'] . $path . "thumb_" . $id;
    $oFilnavn = $_SERVER['DOCUMENT_ROOT'] . $path . $id;
    $src_img = @imagecreatefromjpeg($oFilnavn);   
    $dst_img =ImageCreateTrueColor($thumb_picX, $thumb_picY);
    ImageCopyResized($dst_img, $src_img, 0,0,0,0, $thumb_picX, $thumb_picY, $width, $height);   
    imagejpeg($dst_img, $thumb_filnavn);
    $forhold_org = $height/$org_picY;
    $org_picX = round($width/$forhold_org);   
    $dst_img =ImageCreateTrueColor($org_picX, $org_picY);
    ImageCopyResized($dst_img, $src_img, 0,0,0,0, $org_picX, $org_picY, $width, $height);   
    unlink($oFilnavn);
    imagejpeg($dst_img, $oFilnavn);
    db_connect();//denne funktionen er testet og virker
    mysql_query("INSERT INTO
    tabel
    (
    picname,
    picX,
    picY,
    pathname,
    prodno,
    prodtext,
    prod_Description,
    prodprice,
    prodname,
    thumb_picname,
    thumb_picX,
    thumb_picY
    )
    VALUES
    (
    '$id',
    '$org_picX',
    '$org_picY',
    '$path',
    '". $_POST['prodno']."',
    '".$_POST['proddescription']."',
    '".$_POST['prod_description']."',
    '". $_POST['price']."',
    '". $_POST['prodname']."',
    'thumb_$id',
    '.$thumb_picX',
    '.$thumb_picY'
    )")
          or die("Kunne ikke indsætte data: " . mysql_error());
          echo "<br>Produkt tilføjet";
        echo "<br>Filen: " . $filnavn . " er processeret.<br>\n"; }
          else
          {
          echo "<p>Desværre, filen '$id' kunne ikke uploades!</p>";
          }
      }
      else   
      echo "desværre filen er for stor";
    }
               
?>
<form action="<? echo $PHP_SELF; ?>"  method="post">Vælg bibliotek:<form name="form1">
<select name="bib_menu" value="<? echo $_POST['bib_name']; ?>">
<option><? echo "-" . $last_submit; ?></option>
<?
search_folder();    // funktionen finder subfolders i folderen:kategorier
?>
</select>
<input name="bib_submit" type="submit" value="Change">
</form>

<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    Varenr: <input type="text" name="prodno"><br>
    Vare Navn: <input type="text" name="prodname"><br>
    Vare beskrivelse: <textarea name="proddescription"></textarea><br>
    Vare beskrivelse: <textarea name="prod_description"></textarea><br>
    Pris: <input type="text" name="price"><br>
    Billed: <input type="file" name="pic"><br>
    <input type="submit" name="AddButton" value="tilføj" border="0">
</form>
<?
  }
  else
    {
        echo "<html><head></head>";
        echo "Indtast kodeord:";
        echo "<FORM METHOD = POST ACTION = " . $PHP_SELF .">";
        echo "<INPUT TYPE = PASSWORD NAME = 'userpass'><br>";
        echo "<INPUT TYPE = SUBMIT>";
        echo "</FORM>";
    }
?>

Ok..Det var en længere omgang, og det er vidst kommet til at stå lidt hulter til bulter pga tekstombrydningen her..Men pointen var altså, at jeg ikke kan finde ud af hvorfor scriptet virker på det ene domæne men ikke på det andet..
Avatar billede coderdk Praktikant
05. juli 2005 - 16:33 #1
Virker ikke? Får du nogen fejl?
Avatar billede mccookie Seniormester
05. juli 2005 - 16:39 #2
Har du tjekket at du har givet de nye mapper skriverettigheder?
Avatar billede rocha_dk Nybegynder
05. juli 2005 - 19:02 #3
Der er også den mulighed at den nye server ikke understøtter det korrekt gd-lib, du kan prøve at lave en fil hvori du skriver:

<? gd_info(); ?>

Det som så kommer frem er informationer om det lib som er installeret på serveren.
Når du har gjort det kan du poste informationerne herinde, så kan vi se om det er der fejlen ligger.
Avatar billede staach Nybegynder
06. juli 2005 - 18:16 #4
Jeg fandt ud af problemet..(ud over fejlagtig tuborgklamme-sætning)lå fejlen i at jeg åbenbart skulle bruge "if($_POST['AddButton'])"...Ved ikke hvorfor det virkede på mit første domæne..som jo ligger på samme server(samme opsætning i hvertfald) som det nye.
Avatar billede staach Nybegynder
06. juli 2005 - 18:38 #5
Så det var derfor! :-)
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