kostenloser Webspace werbefrei: lima-city


Die Funktion is_uploaded_file() funkioniert bei mir nicht!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*******t

    Ich hab die Funktion is_uploaded_file() gefunden und hab dann herausgefunden das diese Funktion nur bist zur Version PHP 4.0.2 funktioniert. Ich brauch aber eine die in den Versionen danach geht.
    Ich hoffe es gibt eine passende Funktion.

    Gruss
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ähm kurze Frage? Wo steht das die Funktion nicht mehr funktionieren soll, nach 4.0.2?
  4. Autor dieses Themas

    m*******t

    oh tschuldigung :angel: Hab ich irgendwie übersehen da standen so viele Versionen und dann hab ich das nicht richtig gsehen.

    Aber irgendwie funktioniert die Funktion bei mir nicht.
    Hier mal der Code:
    <form method='post' enctype='multipart/form-data' action='Logo.php?action=new'>
    	<table width='600'>
    		<tr>
    			<td>
    			Logo: 
    			</td>
    			<td>
    			<input type='file' name='logo'><br>
    			</td>
    		</tr>
    		<tr>
    			<td colspan='2'>
    			<div align='center'>
    			<input type='submit' name='new' value=' Logo hochladen '>  
    			</div>
    			</td>
    		</tr>
    	</table>
    	</form>

    und dann wird das überprüft (in der gleichen Datei):
    <?php
    session_start();
    
    $uid = $_SESSION['uid'];
    $action = $_GET['action'];
    $new = $_POST['new'];
    $name = $_POST['name'];
    $max_logo = 500000;
    $logo_size = getimagesize($_FILES['logo']['tmp_name']);
    $error = "";
    
    if (is_uploaded_file($_FILES["logo"]["tmp_name"])) {
    	if (!empty($new) and $action == "new" and $_FILES['logo']['size'] <= $max_logo) {
    		$error = "Das Logo darf nicht gr&ouml;ßer als ".$max_logo." sein";
    	}
    		
                elseif (!empty($new) and $action == "new" and !empty($logo_size[2]) and ($logo_size[2] != 1 or $logo_size[2] != 2 
    		or $logo_size[2] != 3 or $logo_size[2] != 4)) {
    		$error = "Das Logo muss den Typ GIF, JPG, PNG oder SWF haben.";
    	}
    }
    	
    else {
                $error .= "Bitte geben sie ein Logo an.";
    }
    
    if (!empty($new) and $action == "new" and empty($error)) {
    	if ($logo_size[2] == 1) {
    		$logo_type = ".gif";
    	}
    	if ($logo_size[2] == 2) {
    		$logo_type = ".jpg";
    	}
    	if ($logo_size[2] == 3) {
    		$logo_type = ".png";
    	}
    	if ($logo_size[2] == 4) {
    		$logo_type = ".swf";
    	}
    	$newlogo = "/images/Logos/".$name.$logo_type;
    
    	move_uploaded_file($_FILES['logo']['tmp_name'], "images/Logos/".$name.$logo_type);
    
                $verbindung = @mysql_connect($dbhost, $dbuser, $dbpass);
    	@mysql_select_db($dbname, $verbindung);
    
                $abfrage = "UPDATE user SET logo = '$newlogo' WHERE id = '$uid'";
                $ergebnis = mysql_query($abfrage);	
    }


    Aber irgendwie speichert er den Pfad zum Logo auch wenn gar kein Bild zum Upload angegeben wurde. Wenn man als Namen "Hallo" angegeben hat steht da:
    /images/Logos/Hallo
    Der Type steht nicht da weil ja auch kein Bild angegeben wurde.


    Was ist an dem Code falsch?
    Gruss
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!