Avatar billede cmau Nybegynder
06. maj 2005 - 16:30 Der er 66 kommentarer og
1 løsning

Fejl i mit upload script

Kan i rette de her fejl for mig?

Fejl:

Warning: imagesx(): supplied argument is not a valid Image resource in /mnt/raid/www/www/babegalleri/test/img_add.php on line 32

Warning: imagesy(): supplied argument is not a valid Image resource in /mnt/raid/www/www/babegalleri/test/img_add.php on line 33

Warning: copy(): Unable to access in /mnt/raid/www/www/babegalleri/test/img_add.php on line 50

Warning: Division by zero in /mnt/raid/www/www/babegalleri/test/img_add.php on line 52

Warning: imagecreatetruecolor(): Invalid image dimensions in /mnt/raid/www/www/babegalleri/test/img_add.php on line 55

Warning: imagecreatefromjpeg(images/users/hotornot/images/23_big): failed to open stream: No such file or directory in /mnt/raid/www/www/babegalleri/test/img_add.php on line 60

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /mnt/raid/www/www/babegalleri/test/img_add.php on line 63

Warning: imagejpeg(): supplied argument is not a valid Image resource in /mnt/raid/www/www/babegalleri/test/img_add.php on line 68

Warning: unlink(images/users/hotornot/images/23_big): No such file or directory in /mnt/raid/www/www/babegalleri/test/img_add.php on line 71

Kode:

<?
if (!isset($_SESSION['username'])) {
include('login_required.php');
} else {
?>
<p align="center">Tilføj billede</p>
<?
if(isset($_POST['UploadBotton'])) {

$warning[] = array();
$image = $_FILES["image"]["tmp_name"];

if($file = @getimagesize($image)){
if($file[2] == 1){
$type = ".gif";
}
else if($file[2] == 2){
$type = ".jpg";
} else {
$warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
}
} else {
$warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
}

if($type == ".gif"){
$img = imagecreatefromgif($image);
} else {
$img = imagecreatefromjpeg($image);
}

$big_width = imagesx($img);
$big_height = imagesy($img);
if($big_width < 340){
$warning[] = "Billedet er for smalt, det skal minimum være 340 pixel bredt.";
}
if(!is_array($warning) && count($warning)>0){
echo 'Dit billede blev ikke uploadet, dette skyldes nedenstående fejl:<br><font color="#FF0000">';
echo implode("-" , $warning);
echo '</font>';
} else {

mysql_query("INSERT INTO hotornot (userid,img_type,img_accepted) VALUES ('$_SESSION[userid]','$type','no')") or

die(mysql_error());

$big_img_to = "images/users/hotornot/images/".mysql_insert_id()."_big".$type;
$img_to = "images/users/hotornot/images/".mysql_insert_id().$type;

copy($_FILES["image"]["tmp_name"],$big_img_to);

$new_width = 340 / $big_width;
$new_height = round($big_width * $new_width,0);

$dst_img = imagecreatetruecolor($new_width,$new_height);

if($type == ".gif"){
$src_img = ImageCreateFromGif($big_img_to);
} else {
$src_img = ImageCreateFromJpeg($big_img_to);
}

ImageCopyResampled($dst_img,$src_img,0,0,0,0,$new_width,$new_height,$big_width,$big_height);

if($type == ".gif"){
ImageGif($dst_img, $img_to, 100);
} else {
ImageJpeg($dst_img, $img_to, 100);
}

unlink("images/users/hotornot/images/".mysql_insert_id()."_big".$type);

}
} else {
?>
<script type="text/javascript">
<!--
function CheckUpload(f) {

if (f.image.value == ""){
alert("Du skal vælge et billede!");
f.image.focus();
return false;
}
f.UploadButton.disabled=true;
f.UploadButton.value = 'Øjeblik!';
return true;
}
-->
</script>

<form method="POST" onsubmit="return CheckUpload(this);" action="main.php?page=img_add" enctype="multipart/form-data">
<p>Alle billeder der bliver tilføjet her, vil blive vist på Hot or Not siden og evt. på toplisterne, hvis den får en god

bedømmelse.<br><br>Billede:<br><input type="file" name="image"><br><br><input type="submit" value="Tilføj"

name="UploadBotton"></p></form>
<?
}
}
?>
Avatar billede cmau Nybegynder
06. maj 2005 - 18:32 #1
Hov tror fejlen ligger i min .htaccess fil i mappen, den giver nemlig kun en speciel fil lov til at komme ind. Det kode fra .htaccess filen er:

##Start rewrite engine
RewriteEngine on
##Hvis loades fra side.com/index.php med valgfri www samt mulighed for subdomain
RewriteCond %{HTTP_REFERER} !^http://(www\.)?([^.]+\.)?babegalleri.dk/images/users/hotornot/index.php [nc]
##send brugeren til main domain
RewriteRule /* http://www.babegalleri.dk [R,L]
Avatar billede coderdk Praktikant
06. maj 2005 - 18:37 #2
AAAAAARGH lær at bruge indrykning!
Jeg tror det er fordi typen er forkert, prøv:

<?

    if (!isset($_SESSION['username']))
    {
        include('login_required.php');
    }
    else
    {
?>

    <p align="center">Tilføj billede</p>
<?

        if(isset($_POST['UploadBotton']))
        {
       
            $warning[] = array();
            $image = $_FILES["image"]["tmp_name"];
           
            if($file = @getimagesize($image))
            {
                if($file[2] == 1)
                {
                    $type = ".gif";
                }
                else if($file[2] == 2)
                {
                    $type = ".jpg";
                }
                else
                {
                    $warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
                }
            }
            else
            {
                $warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
            }
       
            if ( count( $warning ) > 0 )
            {
                die($warning[0]);
            }

            if($type == ".gif")
            {
                $img = imagecreatefromgif($image);
            }
            else
            {
                $img = imagecreatefromjpeg($image);
            }
       
            $big_width = imagesx($img);
            $big_height = imagesy($img);
            if($big_width < 340)
            {
                $warning[] = "Billedet er for smalt, det skal minimum være 340 pixel bredt.";
            }
   
            if(!is_array($warning) && count($warning)>0)
            {
                echo 'Dit billede blev ikke uploadet, dette skyldes nedenstående fejl:<br><font color="#FF0000">';
                echo implode("-" , $warning);
                echo '</font>';
            }
            else
            {
       
                mysql_query("INSERT INTO hotornot (userid,img_type,img_accepted) VALUES ('$_SESSION[userid]','$type','no')") or
                    die(mysql_error());
       
                $big_img_to = "images/users/hotornot/images/".mysql_insert_id()."_big".$type;
                $img_to = "images/users/hotornot/images/".mysql_insert_id().$type;
       
                copy($_FILES["image"]["tmp_name"],$big_img_to);
       
                $new_width = 340 / $big_width;
                $new_height = round($big_width * $new_width,0);
       
                $dst_img = imagecreatetruecolor($new_width,$new_height);
       
                if($type == ".gif")
                {
                    $src_img = ImageCreateFromGif($big_img_to);
                }
                else
                {
                    $src_img = ImageCreateFromJpeg($big_img_to);
                }
       
                ImageCopyResampled($dst_img,$src_img,0,0,0,0,$new_width,$new_height,$big_width,$big_height);
       
                if($type == ".gif")
                {
                    ImageGif($dst_img, $img_to, 100);
                }
                else
                {
                    ImageJpeg($dst_img, $img_to, 100);
                }
       
                unlink("images/users/hotornot/images/".mysql_insert_id()."_big".$type);
       
            }
        }
        else
        {

?>
    <script type="text/javascript">
    <!--
    function CheckUpload(f)
    {
   
        if (f.image.value == "")
        {
            alert("Du skal vælge et billede!");
            f.image.focus();
            return false;
        }
        f.UploadButton.disabled=true;
        f.UploadButton.value = 'Øjeblik!';
        return true;
    }
    -->
    </script>
   
    <form method="POST" onsubmit="return CheckUpload(this);" action="main.php?page=img_add" enctype="multipart/form-data">
    <p>Alle billeder der bliver tilføjet her, vil blive vist på Hot or Not siden og evt. på toplisterne, hvis den får en god
   
    bedømmelse.<br><br>Billede:<br><input type="file" name="image"><br><br><input type="submit" value="Tilføj"
   
    name="UploadBotton"></p></form>
<?

        }

    }

?>
Avatar billede cmau Nybegynder
06. maj 2005 - 19:18 #3
Hmm.. hvorfor indryk? Gør mig bare forviret, men nu lige meget om jeg bruger .jpg, .gif eller en anden filtype skriver den bare Array også skriver den ikke mere.
Avatar billede coderdk Praktikant
06. maj 2005 - 19:24 #4
Den første:

$warning[] = array();

skal bare være:

$warning = array();

Prøv så igen - Indrykning er for at gøre det mere overskueligt - Det er jo umuligt at overskue kode der bare står på samme niveau ;P
Avatar billede cmau Nybegynder
06. maj 2005 - 19:25 #5
Jeg tror faktisk at getimagesize ikke virker på mit webhotel, hvad kunne det ellers være, fordi før var der jo heller ingenting der kunne få fat i $type
Avatar billede cmau Nybegynder
06. maj 2005 - 19:26 #6
Selv om jeg prøver med .jpg, .txt, .gif, .bmp eller noget, så får jeg fejlen: Kun .jpg eller .gif billedetyper bliver godkendt!
Avatar billede coderdk Praktikant
06. maj 2005 - 19:29 #7
Prøv manuelt at uploade et jpg billede med ftp, og brug getimagesize på det. Det burde da bare virke ;P
Evt. dump noget debug:

var_dump( $_FILES );

evt...
Avatar billede cmau Nybegynder
06. maj 2005 - 19:32 #8
Har prøvet med dette:

<?
if($file = @getimagesize(images/logo.jpg))
            {
                if($file[2] == 1)
                {
                    $type = ".gif";
                }
                else if($file[2] == 2)
                {
                    $type = ".jpg";
                }
                else
                {
echo "Kun .jpg eller .gif billedetyper bliver godkendt!";
                }
            }
            else
            {
echo "Kun .jpg eller .gif billedetyper bliver godkendt!";
            }
echo $type;
?>

http://www.babegalleri.dk/test/test.php

billedet:
http://www.babegalleri.dk/test/images/logo.jpg
Avatar billede coderdk Praktikant
06. maj 2005 - 19:34 #9
Prøv lige at fjerne @'et
Avatar billede cmau Nybegynder
06. maj 2005 - 19:38 #10
Avatar billede cmau Nybegynder
06. maj 2005 - 19:39 #11
satte lige "" uden om, nu virker den, nu skriver den .jpg
Avatar billede coderdk Praktikant
06. maj 2005 - 19:40 #12
hahha ja det havde jeg slet ikke set :P
Avatar billede cmau Nybegynder
06. maj 2005 - 19:42 #13
Men skal jeg så bare fjerne @'et eller hvad?
Avatar billede coderdk Praktikant
06. maj 2005 - 19:50 #14
Nej, @ må gerne blive der, hvis der er .txt-filer osv, det var bare lige for at se om den skrev noget! :)
Avatar billede cmau Nybegynder
06. maj 2005 - 19:51 #15
Men hvad er fejlen så i den lange kode? Skal jeg bare smie "" om $image?
Avatar billede coderdk Praktikant
06. maj 2005 - 20:02 #16
Ja, det ved vi jo stadig ikke. Prøv at lave en:

var_dump( $_FILES );
Avatar billede cmau Nybegynder
06. maj 2005 - 20:10 #17
Ved ikke lige hvad du mener med at lave en var_dump( $_FILES );?
Avatar billede coderdk Praktikant
06. maj 2005 - 20:11 #18
prøv at skrive:

echo "<pre>;" var_dump( $_FILES ); echo "</pre>";
exit;

i toppen af scriptet, så kan du se om der kommer noget med
Avatar billede cmau Nybegynder
06. maj 2005 - 20:19 #19
array(0) {
}
Avatar billede coderdk Praktikant
06. maj 2005 - 20:22 #20
Ja, så bliver der ikke uploadet noget ;)
Hvordan ser din form ud? Har du husket enctype="multipart/form-data" ?
Avatar billede cmau Nybegynder
06. maj 2005 - 20:25 #21
Vidste godt at der var små fejl i, men dem havde jeg ellers tænkt mig at rette bagefter:

    <script type="text/javascript">
    <!--
    function CheckUpload(f)
    {
   
        if (f.image.value == "")
        {
            alert("Du skal vælge et billede!");
            f.image.focus();
            return false;
        }
        f.UploadButton.disabled=true;
        f.UploadButton.value = 'Øjeblik!';
        return true;
    }
    -->
    </script>
   
    <form method="POST" onsubmit="return CheckUpload(this);" action="main.php?page=img_add" enctype="multipart/form-data">
    <p>Alle billeder der bliver tilføjet her, vil blive vist på Hot or Not siden og evt. på toplisterne, hvis den får en god
   
    bedømmelse.<br><br>Billede:<br><input type="file" name="image"><br><br><input type="submit" value="Tilføj"
   
    name="UploadBotton"></p></form>

Den viser heller ikke Øjeblik, som den skal.
Avatar billede cmau Nybegynder
07. maj 2005 - 15:29 #22
Endelig kom siden op igen. Kan du se min fejl? Kan nemlig ikke selv :(
Avatar billede coderdk Praktikant
07. maj 2005 - 15:32 #23
Nej, ikke umiddelbart :( Så vidt jeg lige kan se burde der blive uploadet en fil - Hvorfor det ikke sker ved jeg ikke lige...
Avatar billede cmau Nybegynder
07. maj 2005 - 15:36 #24
Prøver lige med:

<form method="POST" action="main.php?page=img_add" enctype="multipart/form-data"><input type="file" name="image"><input type="submit" value="Tilføj" name="UploadBotton"></form>
Avatar billede cmau Nybegynder
07. maj 2005 - 15:37 #25
Det virker ikke engang :S
Avatar billede coderdk Praktikant
07. maj 2005 - 15:44 #26
Prøv lige et nyt script:

<?php

  if ( isset( $_POST['upl']) )
  {
    var_dump( $_FILES );
  }

?>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<input type="file" name="minfil">
<input type="submit" value="test" name="upl">
</form>
Avatar billede cmau Nybegynder
07. maj 2005 - 15:45 #27
Nu har jeg lige prøvet med:

<?
if(isset($_GET[ok])) {
echo "<pre>";
var_dump( $_FILES );
echo "</pre>";
exit;

} else {

echo '<form method="POST" action="?ok" enctype="multipart/form-data">';

echo '<p>Fil:<br><input type="file" name="fil"><p>';

echo '<p><input type="submit" value="Upload" name="submit"></p>';
echo '</form>';

}
?>

Den skriver også bare:

array(0) {
}
Avatar billede cmau Nybegynder
07. maj 2005 - 15:47 #28
Din giver det samme: array(0) { }
Avatar billede coderdk Praktikant
07. maj 2005 - 15:57 #29
Der er noget galt med dit webhotel, for det der burde virke :P
Avatar billede cmau Nybegynder
07. maj 2005 - 16:00 #30
Damn havde jeg også på fornemmelsen, har lige sendt et brev til powerhosting.
Avatar billede cmau Nybegynder
07. maj 2005 - 16:20 #31
Men har jeg ikke andre muligheder?
Avatar billede coderdk Praktikant
07. maj 2005 - 16:23 #32
For hvad? Som det der nu kan du ikke uploade! :)
Avatar billede cmau Nybegynder
07. maj 2005 - 16:38 #33
Hele min side handler om at folk skal kunne uploade :(
Avatar billede coderdk Praktikant
07. maj 2005 - 16:44 #34
hehe så må du jo vente på at din udbyder retter fejlen ;)
Avatar billede cmau Nybegynder
07. maj 2005 - 19:39 #35
Så har de aktiveret det igen, de sagde at det var noget sikkerheds haløj, men når får jeg:

array(1) {
  ["image"]=>
  array(5) {
    ["name"]=>
    string(10) "SIMONE.jpg"
    ["type"]=>
    string(11) "image/pjpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpsnvgHe"
    ["error"]=>
    int(0)
    ["size"]=>
    int(79034)
  }
}
Avatar billede coderdk Praktikant
07. maj 2005 - 19:46 #36
Fint, nu kan du fjerne:

echo "<pre>;" var_dump( $_FILES ); echo "</pre>";
exit;

Og se om det virker ;P
Avatar billede cmau Nybegynder
07. maj 2005 - 19:48 #37
http://babegalleri.dk/test/img_add.phps - Der kan du se koden
http://babegalleri.dk/test/ - Brugernavn: WooX - Kode: asdasd

Gå ind i tilføj billede og prøv, den skriver bare hver gang at man kun må uploade gif eller jpg :S
Avatar billede coderdk Praktikant
07. maj 2005 - 20:11 #38
Prøv lige at ændre:

            if($file = @getimagesize($image))
            {
                if($file[2] == 1)
                {
                    $type = ".gif";
                }
                else if($file[2] == 2)
                {
                    $type = ".jpg";
                }
                else
                {
                    $warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
                }
            }
            else
            {
                $warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
            }


til:

            if($file = @getimagesize($image))
            {
                if($file[2] == 1)
                {
                    $type = ".gif";
                }
                else if($file[2] == 2)
                {
                    $type = ".jpg";
                }
                else
                {
                    $warning[] = "Kun .jpg eller .gif billedetyper bliver godkendt!";
                }
            }
            else
            {
                $warning[] = "Du skal uploade et .jpg eller .gif billede!";
            }
Avatar billede coderdk Praktikant
07. maj 2005 - 20:13 #39
Evt. lige efter:

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

smid:

echo "<pre>"; var_dump( $_FILES ); echo "</pre>";
Avatar billede cmau Nybegynder
07. maj 2005 - 20:25 #40
array(1) {
  ["image"]=>
  array(5) {
    ["name"]=>
    string(10) "SIMONE.jpg"
    ["type"]=>
    string(11) "image/pjpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpuvuTP1"
    ["error"]=>
    int(0)
    ["size"]=>
    int(79034)
  }
}

Du skal uploade et .jpg eller .gif billede!
Avatar billede coderdk Praktikant
07. maj 2005 - 21:09 #41
Weird. Lige efter:

            if($file = @getimagesize($image))
            {

Prøv at skrive:

              echo "<pre>"; var_dump( $file ); echo "</pre>";

Ved du om billedet er gemt fra photoshop?
Avatar billede cmau Nybegynder
07. maj 2005 - 21:15 #42
Ja det er fra photoshop, det er en falsk check, som mine forældre skal give min søster i konfimations gave i morgen.

Skummelt hvsi jeg smider det lige efter

            if($file = @getimagesize($image))
            {

så skriver den bare:

Du skal uploade et .jpg eller .gif billede!
Avatar billede coderdk Praktikant
07. maj 2005 - 21:19 #43
Paste lige hele koden, eller lav en .phps
Avatar billede coderdk Praktikant
07. maj 2005 - 21:20 #44
PS. Hvis du bruger photoshop, *SKAL* du gemme vha. "Save for web" - Photoshop kan ikke finde ud af at lave ordentlige jpeg-billeder hvis man bruger "Save as" eller "Save as a copy".
Avatar billede cmau Nybegynder
07. maj 2005 - 21:26 #45
http://babegalleri.dk/test/img_add.phps

Men jeg har prøvet med billeder taget med mit digital kamera, og den vil heller ikke rigtigt.
Avatar billede coderdk Praktikant
07. maj 2005 - 21:28 #46
Dem har du tilfældigvis ikke behandlet i photoshop? :)
Avatar billede coderdk Praktikant
07. maj 2005 - 21:31 #47
Hmm, det er underligt. Det lader ikke til at getimagesize() vil læse dem - Prøv den lige i et script for sig selv, med et billede der findes på serveren:

<?php

  $inf = getimagesize( "../images/logo.jpg" );

  echo "<pre>"; var_dump( $inf ); echo "</pre>";

?>

Den burde give dette output:

array(7) {
  [0]=>
  int(750)
  [1]=>
  int(150)
  [2]=>
  int(2)
  [3]=>
  string(24) "width="750" height="150""
  ["bits"]=>
  int(8)
  ["channels"]=>
  int(3)
  ["mime"]=>
  string(10) "image/jpeg"
}
Avatar billede cmau Nybegynder
07. maj 2005 - 21:32 #48
Nej det mener jeg da ikke, men du kan da prøve, hvis du har et billede.
http://babegalleri.dk/test/ - Brugernavn: WooX - Kode: asdasd

Jeg tror faktisk slet ikke at den forfat i noget med billedet, for med .txt filer eller .png filer, som jeg lige har testet det med får jeg stadig:

Du skal uploade et .jpg eller .gif billede!
Avatar billede cmau Nybegynder
07. maj 2005 - 21:34 #49
array(7) {
  [0]=>
  int(750)
  [1]=>
  int(150)
  [2]=>
  int(2)
  [3]=>
  string(24) "width="750" height="150""
  ["bits"]=>
  int(8)
  ["channels"]=>
  int(3)
  ["mime"]=>
  string(10) "image/jpeg"
}

Præcis som du siger.
http://babegalleri.dk/test/coderdk.php
Avatar billede coderdk Praktikant
07. maj 2005 - 21:35 #50
Alt for weird. Prøv lige at fjerne @'et og se hvad den så siger
Avatar billede cmau Nybegynder
07. maj 2005 - 21:38 #51
Hvis jeg prøver med .txt:

Warning: getimagesize(): open_basedir restriction in effect. File(/tmp/phpg51Evo) is not within the allowed path(s): (/var/www/babegalleri) in /mnt/raid/www/www/babegalleri/test/img_add.php on line 20

Warning: getimagesize(/tmp/phpg51Evo): failed to open stream: Operation not permitted in /mnt/raid/www/www/babegalleri/test/img_add.php on line 20
Du skal uploade et .jpg eller .gif billede!


Med .jpg:

Warning: getimagesize(): open_basedir restriction in effect. File(/tmp/phpSb2Mdi) is not within the allowed path(s): (/var/www/babegalleri) in /mnt/raid/www/www/babegalleri/test/img_add.php on line 20

Warning: getimagesize(/tmp/phpSb2Mdi): failed to open stream: Operation not permitted in /mnt/raid/www/www/babegalleri/test/img_add.php on line 20
Du skal uploade et .jpg eller .gif billede!
Avatar billede coderdk Praktikant
07. maj 2005 - 21:45 #52
Well, DUH! Din udbyder har slået open_basedir til. Derfor er du nødt til at flyttet filen ind i dit eget bibliotek før du kan bruge getimagesize()...

Ændr:

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

Til:
   
    if ( is_uploaded_file( $_FILES["image"]["tmp_name"] ) )
    {
        $image = 'images/users/hotornot/images/' . uniqid() . uniqid();
        move_uploaded_file( $_FILES["image"]["tmp_name"], $image )
    }
    else
    {
        $warning[] = "Du skal uploade en fil.";
    }

Og så skal du bruge $fname hele vejen ned - Ikke noget med $_FILES['image']['tmp_name']
Avatar billede coderdk Praktikant
07. maj 2005 - 21:46 #53
Sidste linje skulle jo have været:

Og så skal du bruge $image hele vejen ned - Ikke noget med $_FILES['image']['tmp_name']
Avatar billede cmau Nybegynder
07. maj 2005 - 21:49 #54
Parse error: parse error, unexpected '}' in /mnt/raid/www/www/babegalleri/test/img_add.php on line 23

http://babegalleri.dk/test/img_add.phps
Avatar billede cmau Nybegynder
07. maj 2005 - 21:50 #55
Hov nogen havde glemt et ; :P
Avatar billede cmau Nybegynder
07. maj 2005 - 21:51 #56
Nu får jeg denne fejl:

Warning: uniqid() expects at least 1 parameter, 0 given in /mnt/raid/www/www/babegalleri/test/img_add.php on line 21

Warning: uniqid() expects at least 1 parameter, 0 given in /mnt/raid/www/www/babegalleri/test/img_add.php on line 21

Warning: move_uploaded_file(images/users/hotornot/images/): failed to open stream: Is a directory in /mnt/raid/www/www/babegalleri/test/img_add.php on line 22

Warning: move_uploaded_file(): Unable to move '/tmp/php7ix1MT' to 'images/users/hotornot/images/' in /mnt/raid/www/www/babegalleri/test/img_add.php on line 22

Warning: getimagesize(): Read error! in /mnt/raid/www/www/babegalleri/test/img_add.php on line 29
Du skal uploade et .jpg eller .gif billede!
Avatar billede coderdk Praktikant
07. maj 2005 - 21:54 #57
Den skal bare have et eller andet prefix:

$image = 'images/users/hotornot/images/' . uniqid('tmpimg') . uniqid('a');
Avatar billede cmau Nybegynder
07. maj 2005 - 21:59 #58
Nu virkede det.

array(7) {
  [0]=>
  int(144)
  [1]=>
  int(176)
  [2]=>
  int(2)
  [3]=>
  string(24) "width="144" height="176""
  ["bits"]=>
  int(8)
  ["channels"]=>
  int(3)
  ["mime"]=>
  string(10) "image/jpeg"
}

MEN!! den har også uploadet en fil med navnet tmpimg427d1df60d04aa427d1df611e71
Avatar billede cmau Nybegynder
07. maj 2005 - 22:01 #59
Den laver heller ikke det billede jeg prøver at uploade ordenligt.
Avatar billede cmau Nybegynder
07. maj 2005 - 22:02 #60
Hvis jeg bruger et billede fra photoshop får jeg denne fejl:

Warning: imagecreatetruecolor(): Invalid image dimensions in /mnt/raid/www/www/babegalleri/test/img_add.php on line 92

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /mnt/raid/www/www/babegalleri/test/img_add.php on line 103

Warning: imagejpeg(): supplied argument is not a valid Image resource in /mnt/raid/www/www/babegalleri/test/img_add.php on line 111
Avatar billede coderdk Praktikant
07. maj 2005 - 22:06 #61
Ja, det er meningen at du skal arbejde videre med den fil, hvis det f.eks. ikke er et jpeg/gif, skal du selv slette det igen med unlink()

Prøv at debugge, hvad tror scriptet at bredden og højden er? Hvad tror scriptet at new_width og new_height skal være? De to sidste fejl er følger af den første.
Avatar billede cmau Nybegynder
07. maj 2005 - 22:10 #62
Så kan jeg vel bare slette den igen med unlink($image);

Må man spørge hvad u mener med debugge? Og hvordan skal jeg tjekke hvad scriptet tror bredden og højden er?

Kunne du lave en lille guide?

Vil smutte i seng, godnat!
Avatar billede coderdk Praktikant
07. maj 2005 - 22:11 #63
erh, prøv at skrive dem ud?
Avatar billede cmau Nybegynder
08. maj 2005 - 20:10 #64
Har prøvet at unlinke her:

        $warning[] = "Du skal uploade en fil.";
unlink($image);
    }

Men den sletter det ikke, så har jeg kigget på de 2 billeder den uploader, den der heder tmp er hvis jeg skriver.jpg på det 100% rigtige billede, som jeg uploadede, men det andet bliver 2 bredt og 340 højt.

Den gav heller ingen fejl med obenstående, selv om billede var for lille for kravene, hvordan kan det være?

http://babegalleri.dk/test/img_add.phps
Avatar billede cmau Nybegynder
08. maj 2005 - 20:48 #65
Nu virker det fandme :D

Godt jeg lige selv kiggede alt i gennem :D Photoshop filer virker også nu, en af de største fejl var da jeg regnede de nye højder og breder ud, det gav 0,4454576567 eller ngoet i den stil.

Tusind tak for din hjælp, vil du lige smide et svar?
Avatar billede coderdk Praktikant
08. maj 2005 - 20:59 #66
Yep :)
Avatar billede cmau Nybegynder
08. maj 2005 - 21:09 #67
Det var godt nok dejligt at få fixet, det må vel være oven på en dag med så meget god mad :D
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