Die Funktion is_uploaded_file() funkioniert bei mir nicht!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
bild
brauch
code
ergebnis
falsch gruss
funktion
funktionieren
gleichen datei
image
kurze frage
logo code
passende funktion
pfad
set
typ
type
update
verbindung
version
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ähm kurze Frage? Wo steht das die Funktion nicht mehr funktionieren soll, nach 4.0.2?
-
oh tschuldigung 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öß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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage