PHP Upload Formular

Huhu,
ich hab’s jetzt so

[code]<?php
echo ‘’;
$verz=“picture”;
$max_size = 5000000; //in byte => 5000kb
$Allowed_Types = array(
‘image/jpeg’ => ‘.jpg’,
‘image/gif’ => ‘.gif’
);

$fehler = array();
$msg = “”;

if(isset($_FILES[‘neuedatei’]))
{
$type = $_FILES[‘neuedatei’][‘type’];
$tmp_name = $_FILES[‘neuedatei’][‘tmp_name’];
$size = $_FILES[‘neuedatei’][‘size’];

//Wenn das Verzeichnis noch nicht exisitiert, dieses anlegen
if(!file_exists($verz)) mkdir($verz,0755);

//Falls das Feld leer ist
if (!$neuedatei)
{
$fehler[]=“Bitte eine Datei auswählen!”;
}

//Dateigröße kontrollieren
if($size>$max_size)
{
$fehler[]=“Die Datei ist zu groß! Die Datei darf maximal 5MB groß sein!”;
}

//Zulässige Dateitypen kontrollieren
if(!in_array($type,array_keys($Allowed_Types)))
{
$fehler[]=“Der Dateityp ‘$type’ ist nicht zulässig!”;
}

//Datei speichern, wenn kein Fehler
if(count($fehler)==0)
{
//Namen generieren
$name=uniqid("");

  //Dateiendung je nach Typ an den Namen anhängen
  $ext = $Allowed_Types[$type];
  //Den Dateinamen um die Pfadangabe erweitern
  $name = $verz."/".$name.$ext;
  
  //Die Datei in das Unterverzeichnis kopieren
  copy($tmp_name, $name);
  
  $msg = "Die Datei wurde erfoglreich hochgeladen!<br />&raquo; Link: <a href='$name'>$name</a>";

}
else
{
foreach($fehler as $f)
{
$msg .=" $f
\n";
}
}
}
?>

Datei Upload <? echo $msg?>
JPG/JPEG/GIF, maximal 5MB



Möchtest du Dein Bild bearbeitet haben?
Ja Nein

[/code]

Wenn ich jetzt keine Datei auswähle, dann steht
Bitte eine Datei auswählen!
Der Dateityp ‘’ ist nicht zulässig!
da.

Ich komm nicht drauf, dass nur Bitte eine Datei auswählen! da steht…könnt ihr mir helfen?

und ich möchte gerne prüfen, ob die Checkbox mit JA angewählt ist. Wenn dies true ist, dann soll ein weiteres Feld erscheinen sozusagen^^
Geht das?

Grüße

Ruf das Skript mal neu im Browser auf, ohne die Post-Daten neu zu senden.
Also einfach die Adresse neu in die Adressleiste eintippen und aufrufen.

Dann dürfte der Satz “Der Dateityp ‘’ ist nicht zulässig!” nicht mehr da stehn.

Wenn du möchtest, dass beim Klick auf Ja ein weiteres Feld angezeigt wird, musst du das mit Javascript realisieren.
Oder willst du das nach dem Abesenden noch ein Feld angezeigt wird ?

Hm naja JS kann ich ja ein bisschen…das wird dann mit “hidden” und so weiter geregelt soweit ich weiß^^

habt ihr denn eine lösung dafür, dass wenn keine datei ausgwält ist nur der fehler angezeigt wird und nich 2fehler?

grüße

Bedingungen sinnvoller verschachteln.

Wenn keine Datei hochgeladen - dann Meldung;
sonst - weitere Bedingungen überprüfen

also müsste ich nur noch ein else hinzufügen^^ oder?

Ersetzte einfach:

      foreach($fehler as $f)
      {
         $msg .="<b><i> $f<br /></b></i>\n";
      }

durch:

      $msg ="<b><i> $fehler[0]<br /></b></i>\n";

Da du nun nicht mehr jeden Fehler an den String $msg hängst sondern nurnoch den ersten.

@chrisb: Wenn du doch immer so genervt zu Fragen antwortest, zumindest kommt das durch deine nahezu destruktive und unfreundlichen Antworten rüber, warum verwendest du deine Zeit nicht für etwas Anderes :wink: Du sollstest doch gemerkt haben das du ihm so reichlich wenig weiterhilfst…

Meine letzte Antwort war rein sachlich. Was findest du daran unfreundlich?

Er sollte langsam mal merken und einsehen, dass ein gewisses Maß an Mitarbeit von ihm erwartet wird; zumindest von den Leuten, die wirklich helfen wollen, und nicht nur fertigen Code hinklatschen, der keinerlei Lernerfolg mitbringt, und ihn damit beim nächsten klitzekleinen Problem wieder genauso ahnungslos dastehen lässt.

Hey,

du kannst von anderen Leuten, die noch nicht wissen bzw keine Erfahrungen im Bereich PHP haben, sich hinsetzen und ein PHP Code machen, der super duper ist.

chrisb ich finde deine Art ehrlich gesagt sehr unfreundlich und unsympatisch. Wenn du dich im realen Leben genauso verhälst, dann solltest du doch mal darüber nachdenken.

Ich brauche deine Hilfe hier ehrlich gesagt nicht mehr, wenn du mit uns Usern so umgehst. Überleg dir reiflich, ob es das richtige ist, andere User so “anzumachen”.

Grüße :smiley:

Niemand redet von “super duper” - sondern davon, dass man sehr wohl erwarten kann, dass auch ein Neuling sich mal informiert. Insb. dann, wenn es um absolute Grundlagen geht, und ihm auch noch Seiten genannt werden, auf denen diese extra für Neulinge aufbereitet und klar verständlich beschrieben sind.

Das kann ich dir nur zurückgeben.

Ich finde es nicht nur unfreundlich und unsympathisch, sondern sogar regelrecht unverschämt und frech, wenn jemand auf jede Antwort, die ihm sagt, “das, was du wissen musst, kannst du dort und dort nachlesen” nur und ausschliesslich antwortet, dass ihm das “nicht weiterhilft”.

Wenn du dich im realen Leben genauso verhältst, dann solltest du da auch noch mal drüber nachdenken.

Wenn du dich nämlich im realen Leben genauso verhältst - was ich wirklich nicht hoffen will - dann würde das ja wohl bedeuten, dass du auch alle Versuche bspw. deiner Eltern, dir zu erklären, wie man sein Essen selber kleinschneidet, mit deiner Standardantwort “das hilft mir auch nicht weiter” quitiert hast - und du demzufolge immer noch gefüttert werden musst …?

Jetzt wirst du wahrscheinlich Zeter und Mordio schreien, und das wieder extrem “unfreundlich” finden - aber das ist nun mal genau das Verhalten, das du hier zeigst, wenn es um PHP geht.

Du beschreibst noch nicht ein mal, was dir konkret Verständnisprobleme bereitet, sondern tust immer alles nur mit dem pauschalen “hilft mir nicht weiter” ab.
Wenn du das mal machen würdest, dir ein bisschen mehr Mühe geben würdest - “ich verstehe an dem, was ich da nachgelesen habe, folgendes nicht: …” - dann würde sich mit Sicherheit auch jemand finden, der es dir gerne noch mal erklärt.
Aber stattdessen machst du hier nur den Eindruck, dass du “auf stur” schaltest, sobald du gebeten wirst, mal irgendwo etwas nachzulesen und dich selber zu informieren.

Wenn du “Hilfe” wirklich so definierst, dass dir irgendjemand einen fertigen Brocken hinschmeissen soll, den du nur noch per Copy&Paste übernehmen musst - dann ist es auch gar nicht meine Absicht, dir zu helfen.

Ich will dir helfen, in dem ich dir zeige

  • wo und wie man sich selber über Dinge informiert, über die man noch nicht genug weiss
  • wie man programmiererische Probleme mit Logik analysiert und betrachtet

Ich mache dich nicht pauschal an.

Hier in diesem Thread zum Beispiel habe ich dir in meiner ersten Antwort gesagt, wo das Problem (bzw. eines der offensichtlichsten) mit deinem Script liegt, und wo du dich darüber informieren kannst, was stattdessen zu tun ist.

Und deine Reaktion ist wieder mal die absolut typische, die man von dir schon zur Genüge kennt - die Verweigerungshaltung, das Herummeckern, das “du bist nur böse zu mir”-Beleidigtsein ohne wirklichen Grund.

Überlege du dir mal bitte, welchen Eindruck deine Art, auf wirklich gut gemeinte Vorschläge und Ratschläge zu reagieren, wohl auf Aussenstehende macht - und das, wenn sie nicht nur einmal, sondern wiederholt zu beobachten ist.
Glaubst du wirklich, das könnte irgendeinen anderen Eindruck machen als den, dass du wirklich nur zu faul bist, dich selber mal etwas intensiver mit einem Problem zu beschäftigen? Tut mir leid, auf mich zumindest nicht.

Wir können gerne folgenden “Deal” machen:
Ich bemühe mich, mit meinen Formulierungen vorsichtiger zu sein - wenn du dir im Gegenzug auch mal erkennbar etwas Mühe gibst.
Ich betone das “erkennbar” hier; was ich darunter verstehe, siehe oben - dass du bspw. mal beschreibst, was du auf einer Seite, die man dir zum Nachlesen nennt, nicht verstehst.

(Ich habe mich bemüht, bei dieser Antwort so freundlich zu bleiben, wie möglich. Der Rest ist Klartext, der m.E. mal geredet werden muss und auch erlaubt sein sollte. Sollte mein Eindruck, dass du dir einfach keine Mühe geben willst, falsch sein - dann zeige das bitte. Wie das aussehen könnte, das habe ich ja geschrieben.)

Wie alt bist du eigentlich… naja ich sag dazu nichts mehr.

Wenn ich mir mal deine Beiträge anschaue, dann fällst du sehr negativ auf. Naja sowas bin ich von bplaced eigentlich nicht gewöhnt, dass man eine aggresive antwort bekommtn.

Ich hab besseres zu tun, als mich mit sowas wir dir zu beschäftigen.

dennoch an alle(außer der genannten person^^) ein dickes Danke…hat mir sehr geholfen :slight_smile:

Weiter so kann ich nur sagen :smiley:

Grüße

Besser so.

Tja, du mir auch.

Warum, das habe ich wenigstens sachlich begründet - während dir nach wie vor nichts besseres einfällt, als die Leberwurst-Nummer.

Stimmt. Dich mit PHP-Grundlagen zu beschäftigen, sollte auf deiner Prioritätenliste weiter oben stehen. Hilfreiche Seiten dazu habe ich dir ja schon genannt; du kannst auch noch mehr Links bekommen, wenn du möchtest.

[quote]dennoch an alle(außer der genannten person^^) ein dickes Danke…hat mir sehr geholfen :slight_smile:

Weiter so kann ich nur sagen :D[/quote]
Juhu! Also bis zum nächsten Mal, wo du wieder nicht weiter kommst, wieder meckern wirst, wenn man dir Stellen zum Nachlesen zeigt - und dann am Ende wieder denen danken wirst, die dir fertigen Code vor die Füsse werfen, den du nicht verstanden hast.

okay ein maß an eigenständigkeit sollte erfüllt sein, soweit geb ich dir recht :wink:

Hmm vielleicht ist es besser dann links zu erklärung oder etwas zu geben, womit auch ein absoluter beginner einen Einstieg findet.

Die Antwort klang etwas unfreundlich, weil sie ultra knapp gehalten war (kein ungekürzter satz :stuck_out_tongue: ) und für Spandauer höchstwarscheinlich nicht weiterbringend war ohne zich neue Fragen aufzuwerfen…

Ich muss ganz ehrlich sagen, ich hab am Anfang am meisten durch fertige Skripte gelernt…
(Aber dafür braucht man natürlich auch die von dir gemeinte Eigenständigkeit^^)
Und das war auch kein Dank für mein Arbeit^^ auch wenn es schnell gemacht war :stuck_out_tongue:
Naja dann werd ich keine ganzen blöcke mehr posten…
Aber mir vorzuwerfen, dass ich nicht helfen möchte finde ich unpassend! :neutral_face:

@Spanndauer: Alter zeigt sich durch Vernunft und nicht durch persönliche Angriffe^^

^^

Der User wurde der Moderation schon gemeldet :slight_smile:
Wollen wir uns wieder dem Thema widmen? ^^

Mit JS versuch ich das nun–>http://forum.bplaced.net/viewtopic.php?f=9&t=9957&p=231384#p231384

Vielleicht kann ja mal jemand reinschauen, wenn er davon ahnung hat :slight_smile:

grüße

beleidigungen machen es jetzt nich niveauvoller^^

thema is closed eigentlich oder ?

ja.
Leute, geht doch bitte bisschen Freundlicher um miteinander, sich gegenseitig anzuzocken bringt ja nichts und anschauen will ich mir das hier auch nicht, vergisst bitte nicht… gute Laune! :slight_smile: