2 Fragen zu PHP
-
Hallo, ich hab 2 Fragen zu PHP:
- Wie kann ich in einer Textdatei ein Zahl speichern und immer wenn ich die Datei öffne, diese Zahl um eins erhöhen. Ich hab es zwar schon so versucht, klappt aber nicht:
// Inhalt data.txt "1" $datei = file("data.txt"); echo "Inhalt der data.txt :" . $datei[0]; $datei[0]++; $schreib = fopen("data.txt","w"); fwrite($schreib, $datei[0]); fclose($incr1);
- Der User soll die Möglichkeit bekommen Grafikdatein hochzuladen, dass hab ich auch schon hinbekommen nur weiß ich leider nicht wie ich das Format und die Größe begrenzen kann, es sollen bloß JPGs und GIFs hochladbar sein. Kann mir jemand helfen ?
-
zu eins: geht wunderbar... bei mir zählt er schön hoch wie er soll
achtung: fclose($schreib);
-
Frage 2:
- Zum Thema Grafiktyp: http://de3.php.net/manual/de/function.getimagesize.php
- Dateigröße lässt sich mit $_FILES['grafik']['size'] auslesen
Hier nen kleines Bespiel dazu (grafik_upload.php):
<? if(isset($grafik)) // wenn Datei gesendet { if($_FILES['grafik']['size'] < 6000) // wenn Datei kleiner als 6000 Bytes { $grafikinfo = GetImageSize($_FILES['grafik']['tmp_name']); // Index 3 enthält Flags zum Grafiktyp: 1 = GIF, 2 = JPG, 3 = PNG if($grafikinfo[3] == 1) { $ext = ".gif"; } else if($grafikinfo[3] == 2) { $ext = ".jpg"; } else if($grafikinfo[3] == 3) { $ext = ".png"; } else { die("Falscher Dateityp !!!"); } move_uploaded_file($_FILES['grafik']['tmp_name'], "upload/grafik" . $ext); // Temporäre Datei wird an ihren richtigen Platz kopiert echo "<html> ... <img src=\"upload/grafik" . $ext . "\"> ... </html>"; } else { die("Datei zu gross !"); } } ?> <form submit="grafik_upload.php" method="post"> <input type="file" name="grafik"> <input type="submit" value="Senden">
Info zu GetImageSize():
Es wird ein Array aus 4 Elementen zurück gegeben. Im Array-Index 0 steht die Breite. Index 1 enthält die Höhe, 2 ein Flag je nach Grafik-Typ (1 = GIF, 2 = JPG, 3 = PNG, SWF = 4) und Index 3 die richtige Zeichenkette im Format "height=xxx width=xxx" zur Verwendung im IMG-Tag von HTML.Mehr Infos zu dem Thema Upload gibts hier: http://www.dclp-faq.de/q/q-formular-upload-php4.html
p.s. Keine Garantie auf Richtigkeit des Beispieles :p
-
Ich habs mal lokal getestet, haut irgendwie nicht hin, er gibt immer an, dass es ein falscher Dateityp sei
Alternativ könnte man ja vielleicht die Dateiendung mit regulären Ausdrücken rauspopeln oder den Mine-Typ oder $_FILES["grafik"]["type"] rausfinden, aber irgendwie muß es mit GetImageSize() auch funzen ?[ Dieser Beitrag wurde am 08.03.2003 um 20:31 Uhr von Michamab editiert. ]
-
Wenn ich den Typ über $_FILES["grafik"]["type"] abfrage bekomme ich aber nicht immer eine einheitliche Antwort, dass variert je nach Browser. Kennt jemand nicht noch ne andere Möglichkeit ?
-
Hast du es mal mit den Infos von getimagesize versucht?!
-
ja, wie Michamab schon gesagt hat, dass funktioniert so nicht
-
War bei mir auch mal so! Aber mit absoluten Pfaden, also http://www.deinedomain.de/image.jpg hat'S dann funktioniert