Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: blad z uploadem pod ie
Forum PHP.pl > Forum > PHP
piotrr989
Witam
moze ktos sie domysla o co chodzi bez pokazywania kody ale mam strone darmowy hosting zdjęć i jeden z formatów jaki mozna umiescic to png i wszytsko bylo by dobrze gdyby dzialo to. Pod mozilla, opera mozna uplodowac png a pod ie nie. moze wiecie dlaczego tak sie dzieje
wlamywacz
My wróżki ? Jeśli nie podajesz kodu podaj objawy jaki błąd. Poza tym uważam iż temat do kosza.

P.S. System jest źle napisany, rozszerzenie bierzesz z nazwy a nie z MIME
piotrr989
Kod
<?

include "config.php";

if (!isset($_FILES['userfile'])) exit;
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
if ($_FILES['userfile']['size']>$max_size)
{
    echo "<font color=\"#333333\" face=\"Geneva, Arial, Helvetica, sans-serif\">Plik jest za duży! !</font><br>\n"; exit;
}

if (($_FILES['userfile']['type']=="image/gif") || ($_FILES['userfile']['type']=="image/pjpeg") || ($_FILES['userfile']['type']=="image/jpeg") || ($_FILES['userfile']['type']=="image/png"))
{

// generate random signs
$zufall = rand(1,9);
$zufall2 = rand(1,26);
$buchstaben = array(     "1" => "arx",
                "2" => "opt",
                "3" => "bwy",
                "4" => "cqs",
                "5" => "viu",
                "6" => "rgh",
                "7" => "jdv",
                "8" => "klz",
                "9" => "bfi", );

$buchstaben2 = array(    "1" => "a",
                "2" => "b",
                "3" => "c",
                "4" => "d",
                "5" => "e",
                "6" => "f",
                "7" => "g",
                "8" => "h",
                "9" => "i",
                "10" => "j",
                "11" => "k",
                "12" => "l",
                "13" => "m",
                "14" => "n",
                "15" => "o",
                "16" => "p",
                "17" => "q",
                "18" => "r",
                "19" => "s",
                "20" => "t",
                "21" => "u",
                "22" => "v",
                "23" => "w",
                "24" => "x",
                "25" => "y",
                "26" => "z", );

$unikat = $buchstaben[$zufall] . time() . $buchstaben2[$zufall2];

// upload progress
$file = $_FILES['userfile']['name'];
$new_bild = $unikat.substr($file, strrpos($file, "."));
$res = move_uploaded_file($_FILES['userfile']['tmp_name'], "./" . $path . $new_bild);

if (!$res)
{
    echo "<font color=\"#333333\" face=\"Geneva, Arial, Helvetica, sans-serif\">Nie działa Spróbuj ponownie!</font><br>\n"; exit;
}

else
{
?>
<br>
<?

//set url variables
$imgf = $new_bild;
$thbf = $tpath.$imgf;
$urlf = 'http://' .$domain .'/' .$path .$imgf;

//create thumbnails
function createthumb($name,$filename,$new_w,$new_h)
{
$system=explode('.',$name);

if (preg_match('/jpg|jpeg|JPG/',$system[1]))
{
    $src_img=imagecreatefromjpeg($name);
}

if (preg_match('/png|PNG/',$system[1]))
{
    $src_img=imagecreatefrompng($name);
}

if (preg_match('/gif|GIF/',$system[1]))
{
    $src_img=imagecreatefromgif($name);
}

$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

if ($old_x > $old_y)
{
    $thumb_w=$new_w;
    $thumb_h=$old_y*($new_h/$old_x);
}

if ($old_x < $old_y)
{
    $thumb_w=$old_x*($new_w/$old_y);
    $thumb_h=$new_h;
}

if ($old_x == $old_y)
{
    $thumb_w=$new_w;
    $thumb_h=$new_h;
}

$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

if (preg_match("/png/",$system[1]))
{
    imagepng($dst_img,$filename);
}
if (preg_match("/gif/",$system[1]))
{
    imagegif($dst_img,$filename);
}

else
{
    imagejpeg($dst_img,$filename);
}

imagedestroy($dst_img);
imagedestroy($src_img);

}

createthumb($path.$imgf,$tpath.$imgf,$tsize,$tsize);
?>
<head>
<script type="text/javascript">
<!--
function highlight(field)
    {
    field.focus();
    field.select();
    }
//-->
</script>
<TITLE>Host-media.pl Prosty darmowy hosting zdjęć i obrazków.</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250">
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW,ALL">
<META HTTP-EQUIV="Content-Language" CONTENT="pl">
<META NAME="description" CONTENT="Prosty darmowy hosting zdjęć i obrazków. Tu wrzucisz w prosty i szybki sposób swoje zdjęcia">
<META NAME="keywords" CONTENT="host-media.pl, Darmowy, hosting, obrazków, zdjęć, prosty">
<META NAME="author" CONTENT="Host-media.pl">
<META NAME="revisit-after" CONTENT="2 days">
</head>
<body bgcolor='#272f80' background='b3-1.gif'>
<center>
<table border='0' background='b3-1.gif'>
<link rel="STYLESHEET" type="text/css" href="style.css">
<FORM action="nowhere" method="post">
<center>
<tr><td>URL:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="60" value="<? echo 'http://' .$domain .'/' ?>viewer.php?id=<? echo $imgf; ?>"></td></tr>
<tr><td>DIRECT URL:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="60" value="<? echo $urlf; ?>"></td></tr>
<tr><td>HTML:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="60" value='<a href="<? echo 'http://' .$domain .'/'; ?>viewer.php?id=<? echo $imgf; ?>"><img src="<? echo 'http://' .$domain.'/'.$tpath.$imgf; ?>" border="0"></a>'></td></tr>
<tr><td>BBCode:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="60" value="[URL=<? echo 'http://' .$domain .'/'; ?>viewer.php?id=<? echo $imgf; ?>][IMG]<? echo 'http://' .$domain.'/'.$tpath.$imgf; ?>[/IMG][/URL]"></td></tr>
<tr><td>IMAGE:</td><td><a href='viewer.php?id=<? echo $imgf; ?>'><img src='<? echo $thbf ?>'></a></td></tr>

<?
}
}

else
{
echo "<font color=\"#333333\" face=\"Geneva, Arial, Helvetica, sans-serif\">Nie hostujemy plików z tym rozszerzeniem!</font><br>\n"; exit;
}

}

if ($tsize <= 380)
{
    echo "</table>";
    echo "<table border='0' background='b3-1.gif' width='457'>";
    echo "<tr><td><center><a href='./index.php'>wstecz</a></td></tr>";
    echo "</table>";
    echo "<br><br>";
    echo "</body>";
}
?>


a temat dlaczego niby do usuniecia?
webdice
Najprawdopodobniej dlatego że IE inaczej nazywa typy plików, w FF jest to przykładowo image/png a w IE samo png.
piotrr989
a jak to poprawic zeby dzialalo pod ie? ale tylko png nie dziala
wlamywacz
Cytat(webdicepl @ 30.01.2008, 21:31:44 ) *
Najprawdopodobniej dlatego że IE inaczej nazywa typy plików, w FF jest to przykładowo image/png a w IE samo png.


Źle piszesz

  1. <?php
  2. if (preg_match("/png/",$system[1]))
  3. ?>


piotrr989
Sprawdź jaki jest typ pliku przy uploadzie w IE
zzeus
a z jpg tez Ci dziala ? Bo z tego co kojarzę to ff jako typ mime podaje jpg a ie pjpg czy jakoś tak, pewnie podobna historia jest z png
piotrr989
dziala mi wszytsko procz png. i to mnie bardzo dziwi.
webdice
Zmień linię

  1. <?php
  2. if (($_FILES['userfile']['type']=="image/gif") || ($_FILES['userfile']['type']=="image/pjpeg") || ($_FILES['userfile']['type']=="image/jpeg") || ($_FILES['userfile']['type']=="image/png"))
  3. ?>


na

  1. <?php
  2. if (($_FILES['userfile']['type']=="image/gif") || ($_FILES['userfile']['type']=="image/pjpeg") || ($_FILES['userfile']['type']=="image/jpeg") || ($_FILES['userfile']['type']=="image/png") || ($_FILES['userfile']['type']=="image/x-png"))
  3. ?>


Powinno być ok.

Cytat(wlamywacz @ 30.01.2008, 21:51:05 ) *
Źle piszesz

  1. <?php
  2. if (preg_match("/png/",$system[1]))
  3. ?>


Lista Twoich argumentów jest powalająca, napisz co źle pisze.
piotrr989
dzieki webdicepl dziala:)
wlamywacz
Cytat(webdicepl @ 30.01.2008, 23:11:40 ) *
Zmień linię

  1. <?php
  2. if (($_FILES['userfile']['type']=="image/gif") || ($_FILES['userfile']['type']=="image/pjpeg") || ($_FILES['userfile']['type']=="image/jpeg") || ($_FILES['userfile']['type']=="image/png"))
  3. ?>


na

  1. <?php
  2. if (($_FILES['userfile']['type']=="image/gif") || ($_FILES['userfile']['type']=="image/pjpeg") || ($_FILES['userfile']['type']=="image/jpeg") || ($_FILES['userfile']['type']=="image/png") || ($_FILES['userfile']['type']=="image/x-png"))
  3. ?>


Powinno być ok.
Lista Twoich argumentów jest powalająca, napisz co źle pisze.


Ajjj przepraszam mój błąd, źle spojrzałem myśląc że ta linia odpowiada za sprawdzanie typu pliku... resztę sam rozumiesz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.