UploadProblem $_FILES[]

Sonic_cgn

Grünschnabel
Hallo,

Nach nem Server/PHP wechsel läuft mein Script nicht mehr.
Vorher 4.3.1 (reg_Globals =ON/SafeMode off
Nachher 4.4.4 (reg_Globals=OFF/SafeMode off

Per UploadForm wird eine .jpg Datei an dieses Script übergeben per POST.

Dort komme ich nun nicht weiter: Hängt beim konvertieren beim GD-lib
Wird wohl wegen $UPLOAD sein.
Habe ein verständnisproblem mit $_FILES[][]. Wann ich es wo einzusetzten habe.
Hatte es bei der alten phpVersion etwas Primitiver proggen dürfen. jetzt motzt der Parser ;-(

Hoffe es kann mir jemand grade biegen, ich dreh mich nur im Kreis.

(Hab etwas Text gekürzt )



PHP:
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="2col_leftNav.css" type="text/css">

</head>
<body background="tpl_img/aq_background.gif">
<?php require_once("inc/head.php"); ?>
  
<?php require_once("inc/navbar_oben.php"); ?>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="181" valign="top">

<?php require_once("inc/navbar.php"); ?>
  
    </td>
	<td>&nbsp;&nbsp;&nbsp;</td>
	<td width="720" valign="top">
<br>  
<?php include("inc/box_oben.php"); ?>  

  <h1>Aktualisierung erfolgreich abgeschlossen</h1>
  <p>
<?
##################################################################################################
$dir = $row_update['id'];

if(is_writable($_SERVER['DOCUMENT_ROOT']."/user/".$row_update['id']."/")) echo "TEST ob ist schreibbar";
if(is_uploaded_file($_FILES['upload']['tmp_name'])) {
echo "<br>Wurde auch wirklich Uploaded<br>";
print_r($_FILES['upload']);
# liefer auch ein Result



$picinfo = getimagesize($upload);
#echo "Bildbreite: " . $picinfo[0]; 
#echo "<br>";
#echo "Bildhöhe: " . $picinfo[1]; 
#echo "<br>";
#echo "Grafik-Typ: " . $picinfo[2]; 
#echo "<br>";
#echo "HTML-Zeichenkette: " . $picinfo[3]; 

$picb = $picinfo[0];
$pich = $picinfo[1];
$picinfo = $picinfo[2];



if ( $picinfo == "3" OR $picinfo == "2" ) 
{

### Erstellt DIR falls noch nicht vorhanden ####
if (!is_dir ($_SERVER['DOCUMENT_ROOT']."/".$row_update['id'])) {
mkdir ($_SERVER['DOCUMENT_ROOT']."/".$row_update['id'], 0777);
};
### Ende DIR erstellen ######



if(!empty($_FILES['upload'])){

  if(copy($_FILES['upload']['tmp_name'],$_SERVER['DOCUMENT_ROOT']."/user/".$dir."/bild1.jpg")){    
        
  echo "<br><b>Upload beendet!</b><br>";      
  echo "Dateiname: $upload_name";      
  echo "<br>";      
  echo "Dateigröße: $upload_size Byte";
  echo "<br><img src='/user/$dir/tn_bild1.jpg' alt='$upload_size bytes'>";
  
  
  
      }	  
  	} else
  { echo "Da stimmt was nicht"; }


} else {
echo "Bitte nur .JPG oder .PNG";
}
echo "<br><br>";
######################################################################################
function thumb($file, $save, $width, $height, $prop = TRUE) {
    // Requires GD-Lib > 2.0
    // Ist $prop=TRUE, so werden die Proportionen des Bildes
    // auch im Thumbnail eingehalten

    @unlink($save);
    $infos = @getimagesize($file);
    if($prop) {
        // Proportionen erhalten
        $iWidth = $infos[0];
        $iHeight = $infos[1];
        $iRatioW = $width / $iWidth;
        $iRatioH = $height / $iHeight;
        if ($iRatioW < $iRatioH)
        {
        $iNewW = $iWidth * $iRatioW;
        $iNewH = $iHeight * $iRatioW;
        } else {
        $iNewW = $iWidth * $iRatioH;
        $iNewH = $iHeight * $iRatioH;
        } // end if
    } else {
        // Strecken und Stauchen auf Größe
        $iNewW = $width;
        $iNewH = $height;
    }

    if($infos[2] == 2) {
        // Bild ist vom Typ jpg
        $imgA = imagecreatefromjpeg($file);
        $imgB = imagecreatetruecolor($iNewW,$iNewH);
        imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
                           $iNewH, $infos[0], $infos[1]);
        imagejpeg($imgB, $save);
    } elseif($infos[2] == 3) {
        // Bild ist vom Typ png
        $imgA = imagecreatefrompng($file);
        $imgB = imagecreatetruecolor($iNewW, $iNewH);
        imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
                           $iNewH, $infos[0], $infos[1]);
        imagepng($imgB, $save);
    } else {
        return FALSE;
    }
}


// Quelldatei
$from = $_SERVER['DOCUMENT_ROOT']."/user/$dir/bild1.jpg";
// Ziel 1+2
$to1 = $_SERVER['DOCUMENT_ROOT']."/user/$dir/tn_bild1.jpg";


// Funktionsaufruf mit Einbehaltung der Proportionen
thumb($from, $to1, 200, 200, TRUE);

}

#######
	if($unlink =="unlink") {
	if(file_exists($_SERVER['DOCUMENT_ROOT']."/user/$dir/tn_bild1.jpg")) {
		unlink($_SERVER['DOCUMENT_ROOT']."/user/$dir/tn_bild1.jpg");
		unlink($_SERVER['DOCUMENT_ROOT']."/user/$dir/bild1.jpg");

echo "<table width='291'  border='1' align='center' cellpadding='0' cellspacing='0'>";
echo "  <tr>";
echo "      <td bordercolor='#666666' bgcolor='#FF0000'>";
echo "      <p align='center' class='Stil2'>Ihre Bildinformationen wurden erfolgreich von unserem Server gel&ouml;scht </p>";
echo "      </td>";
echo "  </tr>";
echo "</table>";

}}
#######

?>
    <br>
  </p>
  <table border="1" align="center" cellpadding="5" cellspacing="0" bordercolor="#333333">
    <tr>
	
      <td width="50" align="center">
	  <a href="<? echo $kat; ?>?id=<? echo $_GET[id]; ?>">
	  <img src="tpl_img/btn_zusatz.gif" width="32" height="32" border="0"></a>	  </td>
	  
      <td> 
	  <a href="<? echo $kat; ?>?id=<? echo $_GET[id]; ?>"> Informationen &uuml;ber 
	  Ihre Zusatzleistungen bereitstellen </a></td>
    </tr>
	
	
    <tr>
      <td align="center">
	  <a href="detail<? echo $dir; ?>.html"><img src="tpl_img/btn_view.gif" width="32" height="32" border="0"></a>	  </td>
	  
      <td>
	  <a href="detail<? echo $dir; ?>.html">Vorschau</a>	  </td>
    </tr>
  </table>
  
  
  <p>&nbsp;</p>
  <p>&nbsp;</p></td>
<?php include("inc/box_unten.php"); ?>  

  </tr>
</table>

</body>
</html>
<?php

mysql_free_result($update);
}
?>

Cu Sonic
 
Zuletzt bearbeitet:
Was genau motzt der Parser denn?

Und nutze in Zukunft bitte nicht die normalen Code-Tags, sondern die PHP-Tags zur Darstellung von PHP-Code, so bekommen wir dann auch Syntax-Highlighting.
Also statt [ code ]...[ /code ] einfach [ php ]...[ /php ] oder [ highlight=php ]...[ /highlight ] nutzen. Natuerlich ohne die Leerzeichen. ;)

Hier war ich mal so frei das fuer Dich zu uebernehmen, so kannst Du dann auch mal kurz mit der Editier-Funktion in Deinen Post schauen und gucken wie das aussieht. ;)

Nachtrag: Was mir jetzt mit dem Syntax-Highlighting auffaellt ist, dass scheinbar mindestens ein oeffnendes PHP-Tag zu scheinen fehlt und ein Teil des Codes somit nicht als PHP-Code interpretiert wird.
 
Zurück