ich brauche 10.000€ und 20 root-server mit unendlich traffic
ein eigenes rechenzentrum und ein auto währen auch nicht schlecht -___-
Beiträge von BendOr
-
-
-
Wird häufiger mal nachgefragt und damit wir dann immer nen schönen Link zur Hand haben, schreibe ich dieses Tutorial
Für Tipps, Fehler, Verbesserungen und so weiter bin ich natürlich offen, postet einfach hier
Das ist mein erstes Richtiges Turorial also nit zu streng mit mir seinWas soll das Script alles leisten ?
1. Ein Formular bereitstellen, mit dem die Datei ausgewählt werden kann
2. Die Datei in einen bestimmten Ordner hochladen
3. Den Namen des Uploaders und den Pfad in einer Textdatei/MySQL-Tabelle speichern (optional)Ich werde alle wichtigen Funktionen des Script erklären, aber ich setze voraus, das bekannt is, wie Schleifen, Bedingungen und so weiter funktionieren..
Also Voraussetzung ist eine gewisse PHP-Grundkenntnis.1. Das Formular (upload1.php):
Code
Alles anzeigen<form action="upload2.php" method="post" enctype="multipart/form-data" name="Upload-Form"> <table><tr><td> Bild</td><td> <input type="file" name="bild" size="30"> </td></tr><tr><td height="5"></td></tr><tr><td> Upper</td><td> <input type="text" name="upper" size="30"> </td></tr></table> <input type="submit" name="submit" value="Hochladen!"> <input type="reset" name="reset" value="Zurücketzen!"> </form>
damit ist das Formular auch schon fertig...Zitatenctype="multipart/form-data"
das ist notwendig, damit erkannt wird, dass Files mit gesand werden...
file hat ausserdem einen eigenen Input-Typ, womit automatisch auch der Durchsuchen-Button erscheint und ein Feld in dem der Pfad steht.2. Das Script (upload2.php):
Files werden wie die anderen POST-Daten in einem array gespeichert, doch heisst dieses Array $_FILES[][] und ist Zweidimensional, wodurch mehrere Files mit einem Formular geuppt werden können...
$_FILES['input_name']['name etc'] ist der Aufbau.
mehr dazu HIER.
nun zum code:PHP
Alles anzeigen<?php ## Einstellungen: $max_size = "300000"; //In Bytes $ordner = "upload"; //In den Ordner wird das Bild geladen $save = true; //false wenn der Bildpfad nicht gespeichert werden soll $save_typ = "text"; // "datenbank" oder "text" hier eintragen $save_name = "upload"; /*Name des Textfiles/der MySQL-Tabelle, in dem die URL zum Bild gespeichert werden soll. Wenn Text gewählt ist, wird die Datei angelegt, wenn sie nicht existiert*/ ## Zur Datenbank connecten, wenn nötig if($save_typ == "datenbank") { $dbh=mysql_connect("localhost","............",".........."); mysql_select_db("db_name",$dbh); } ## Bild-Daten werden aus $_FILES "geholt" $bild_typ = $_FILES['bild']['type']; $bild_groesse = $_FILES['bild']['size']; $bild = $_FILES['bild']['tmp_name']; $bild_name = $_FILES['bild']['name']; $upper = $_POST['upper']; ## Überprüfe, ob alle Kriterien erfüllt ## Hier kann alles Mögliche ausgetauscht werden if(($bild_groesse <= $max_size) && ($bild_typ == "image/gif" || $bild_typ == "image/jpg" || $bild_typ == "image/jpeg" || $bild_typ == "image/png" || $bild_typ == "image/pjpeg")) { /* Hier nichts ändern, wenn man nicht weiss was man tut ^^ */ $dest = $ordner."/".$bild_name; if(move_uploaded_file($bild, $dest)) { ## Pfad soll nicht gespeichert werden if(!$save) { echo "Das Bild wurde erfolgreich hochgeladen "; echo "Ordner: ".$ordner." "; echo "Name: ".$bild_name." "; echo "Typ: ".$bild_typ." "; } ## Pfad wird gespeichert else { if($save_typ == "datenbank") { mysql_query("INSERT INTO ".$save_name." SET upper = '".$upper."', bild = '".$bild_name."'"); } else { $sn = $save_name.".txt"; $insert = $dest."|".$upper."\n"; $datei = fopen($sn, "a+"); //zum schreiben und ans ende der Datei $inhalt = fread($datei, filesize($sn)); $inhalt .= $insert; fwrite($datei, $inhalt); fclose($datei); } echo "Das Bild wurde erfolgreich hochgeladen "; echo "Ordner: ".$ordner." "; echo "Name: ".$bild_name." "; echo "Typ: ".$bild_typ." "; } } } else { if($bild_groesse > $max_size) { echo "Das Bild ist zu groß"; } else { echo "Die Datei muss ein Bild sein "; echo "Typ: ".$bild_typ; } } ?>
OK, das wars eigentlich, an unteren code muss eigentlich nichts verändert werden und ich glaube das meisste erklärt sich von alleine
ich werde hier jetzt nicht jede einzelne funktion beschreiben, das ganze kann man wunderbar unter
http://www.php.net nachlesen
vll kann mir hier noch jemand helfen, es wäre natürlich schöner mit preg_match die typ-abfrage zu machen, aber ich hab mir noch nicht so mit reg. ausdücken / preg_match beschäftigt
ausserdem bin ich mir bei dem eintrag in die files nicht sicher, da ich lange nicht mehr damit gearbeitet habe
aber dafür seit ihr ja da, meine fehler berichtigen
ich werde das ganze bei gelegenheit noch mal als .zip oder .rar auf meinen space hochladen (mit diesem script)
ich glaub der upload sollte damit funktionieren, ich hab im mom leider keine möglichkeit das zu testen, werds aber nachholen (vieles is so frei hand geschrieben...)
is ja doch ganz schön was zusammengekommen und ich behaupte einfach mal, dass es nicht zu schwer zu verstehen ist
mfg
*Updated
*Läuft nu** neustes update, für alle die das Problem haben, dass die hochgeladene datei nicht heruntergeladen werden kann etc !!!
-->
folgende zeilen finden :Code/* Hier nichts ändern, wenn man nicht weiss was man tut ^^ */ $dest = $ordner."/".$bild_name; if(move_uploaded_file($bild, $dest)) {
und damit ersetzen !!
-
ja ich kanns sonst auch mal machen xD
-
benutz mal die forumssuche, sowas hatten wir hier shcon öfters
edit: wusst ich doch, ich hab meins uach mal hier gepostet:
https://www.forum-hilfe.de/viewtopic.php?…ighlight=upload -
lern java, dann ist php einfach zu lernen, vor allem wenn du merkst dass es auch einfach geht (im gegensatz zu java ^^)
-
wow, das findei ch mal ein sinnvolles forum, hab da nen bischen reingeschaut und da scheinen schon ein paar kompetente menschen fleissig am posten zu sein
gefällt mir -
-
benutz doch nen public server, gibt an jeder ecke
sonst frag irgendeinen clan ob du nen chan bekommst -
hmm netter tipp, danke
-
geht das ganze auch mit cookies mal so als frage
edit: sollte ja eig, oder is da irgendwie ne besonderheit mit den bots ?
und die idee hatte ich auch schon, ich glaub ich hab mir das ganze zu schwer vorgestellt ....
edit2: ok habs jetzt, mal shcaun obs mit cookies bei bots geht -
ok, also ich hab mir mal auf die schnelle nen bild gebastelt, auf dem ein zufallscode steht...
so, mein problem ist jetzt nur noch die abfrage
irgendwo muss ich ja die richtige antwort speichern und dann abfragen...
wie kann ich das am besten machen ? ihr habt sowas ja schon bestimmt mal gebaut -
gut, dass du dieses TEHMA mal ansprichst
-
lokal musst du erst php instalieren, vorher geht da nix mit php
und online muss dein hoster das unterstützen...
http://www.apachefriends.org/de/index.html oder
http://www.maguma.com -
eig ganz gute idee, dafür gibts von mir volle punktzahl wenn wir shcon damit anfangen
aber die umsetzung ist nicht so gelungen... -
include ist ganz simpel, die seite wird einfach komplett in die andere eingebunden, mit variablen und allem drum und dran...
simples beispiel:
1.php:2.php:
zwar sind jetzt die variablen in unterschiedlichen dateien deklariert als die auf den bildschirm gebracht werden, aber das ist kein problem, da die eine seite an der richtigen stelle ja in die andere seite mit include() eingebunden wird
mfg -
-
hmm zum glück filtert mein spamfilter alles raus was ich nicht haben will und das is ne ganze menge
pro email addresse bestimmt 10 stück/tag -
-