@drPHIP132: Deine Lösung hat nur den Nachteil, dass du nur Dateien in deinem Verzeichnis haben darfst. Falls du auch Unterverzeichnisse hast, kriegst du die gleichen Probleme wie vorher.
kanufroschs und mein Code (die, nebenbei bemerkt, identisch sind) löschen auch Unterverzeichnisse.
Kommt halt auf deinen Bedarf an.
DerWaldschrat
Beiträge von DerWaldschrat
-
-
Probier mal das hier:
http://de2.php.net/manual/de/function.rmdir.php#107233
Zur Erklärung:
Diese Funktion durchläuft die Unterverzeichnisse rekursiv und löscht alles, was sie dort finden kann.
Danach ist alles weg...
DerWaldschrat -
-
Naja, so ganz stimmt das nicht, denn mit der History-API lassen sich URLs in modernen Browsern verändern.
Abgesehen davon lässt sich ein Hash (#hash) mit location.href = '#hash' hinzufügen, dabei bleibt der Rest aber erhalten.
DerWaldschrat -
Also, zunächst einmal vorweg: Im Internet-Explorer hast du mit Ajax-Upload keine Chance, zumindest nicht <9 (es sei denn, es gibt da irgendwelche obskuren ActiveX-Objekte, das glaub ich aber nicht).
Ab Firefox 4, Chrome 7 und Safari 5 gibt es aber eine einfache Lösung (auch FF 3.6 geht, dann wirds aber ungemütlich):
https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData">https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData
Das FormData-Objekt!
Die Verwendung ist ganz einfach:Code<script type="text/javascript"> function AjaxUpload() { if (FormData && typeof FormData === "function") { var data = new FormData(/*DEIN FORMULAR, z.B. über document.getElementById*/), xhr = new XMLHttpRequest(); xhr.open("POST", "fileUpload.php"); xhr.send(data); } } </script>
Falls du weitere Fragen hast, einfach stellen!
DerWaldschrat -
Versuchs mal damit:
Code
Alles anzeigen/* * Erzeugt einen Counter, der herunterzählt. * element: Das HTML-Element, in das der Counter kommt. In dem Element sollte sich kein Inhalt befinden. * time: Der UTC-Zeitpunkt in Millisekunden, bis zu dem gezählt werden soll. * * Beispiel: ** Wir haben folgendes HTML: <span id="counter"></span> ** Einen Counter, der immer zwei Stunden herunterzählt, erhalten wir, indem wir folgendes in ein Skriptelement, das nach dem Span steht, schreiben: ** Counter(document.getElementById("counter"), (new Date()).getTime() + 3600 * 2 * 1000); ** * */ var Counter = function (element, time) { var to = time, interval = null, // Gibt einen Zeitstempel zurück, der days, hours, minutes und seconds enthält: milliToReadable = function(milli) { var DAY = 86400000, HOUR = 3600000, MINUTE = 60000, SECOND = 1000, ret = {}; ret.days = Math.floor(milli / DAY); milli = milli % DAY; ret.hours = Math.floor(milli / HOUR); milli = milli % HOUR; ret.minutes = Math.floor(milli / MINUTE); milli = milli % MINUTE; ret.seconds = Math.floor(milli / SECOND); return ret; }, // Wiederholt eine Zeichenkette input so oft, wie multiplier anzeigt strRepeat = function (input, multiplier) { return new Array(multiplier + 1).join(input); }, // Setzt führende Nullen zu der Zahl num, wenn ihre Zeichenkettenlänge kleiner l ist zeros = function (num, l) { var len = l || 2, str = num.toString(); if (str.length < len) { return strRepeat("0", len - str.length) + str; } return str; }, // Diese Funktion wird alle Sekunde aufgerufen fun = function () { var from = new Date().getTime(); // Ist der Timer abgelaufen? if (from >= to) { element.innerHTML = "Ende!"; window.clearInterval(interval); // Ansonsten Anzeige aktualisieren } else { var time = milliToReadable(to - from); element.innerHTML = time.days != 0 ? (time.days + " Tage, ") : "" + zeros(time.hours) + ":" + zeros(time.minutes) + ":" + zeros(time.seconds) + " Stunden"; } }; // Einmaliger, sofortiger Aufruf fun(); // Intervall setzten interval = window.setInterval(fun, 1000); };
-
Er findet ja keins o0
-
Also der Button "Fehlendes Plugin installieren" findet aber kein passendes...
-
Ich hab natürlich ne andere Datei, aber auch AVI, genommen, und er hat gemeint, dass ihm ein Plugin fehlt.
-
Also Quicktime nützt nix, ich hab das Plugin bei mir installiert, er will aber trotzdem nicht ausführen (hab den Code getestet).
DerWaldschrat -
Das heißt dass dein Browser die Einbettung von AVI-Filmdateien nicht unterstützt.
Da kann man als Webdesigner aber leider nix machen (außer den Film konvertieren).
DerWaldschrat -
DPI könnte ich mit cm ausrechnen, umgekehrt auch, allerdings kriege ich das ja nicht raus bei Bildern.
DerWaldschrat -
Hallo,
ich möchte mit PHP und der FPDF-Bibliothek PDF-Dateien erstellen, allerdings ergibt sich dabei folgendes Problem:
Wenn ich Bilder in das PDF schreiben möchte, muss ich dafür die gewünschte Bildbreite oder -höhe in cm, mm, in oder pt angeben, ich habe allerdings bisher noch keine Möglichkeit gefunden, dies mit PHP zu realisieren.
Habe ich da irgendetwas übersehen oder ist das ein unlösbares Problem?
DerWaldschrat -
Ähm, dann hat das Video einen Fehler:
Denn die Date-Funktion nimmt als erstes Argument nur einen Wert vom Typ String = Zeichenkette entgegen.
Wenn du aber date(d) schreibst, geht der PHP-Parser davon aus, dass es eine Konstante vom Typ String gibt, die das Datumsformat enthält.
Gibt es aber nicht, und so beschwert sich PHP mit einer Notice.
DerWaldschrat -
Also, ersteres geht auch ganz einfach (in modernen Browsern) mit dem CSS3-Selektor :nth-of-type(even) / :nth-of-type(odd) (even wählt das 2., 4., 6. ... Element aus, odd das 1., 3., 5. ...).
<!-- m --><a class="postlink" href="http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_nth-of-type_odd_even">http://www.w3schools.com/cssref/tryit.a ... e_odd_even</a><!-- m -->
<!-- m --><a class="postlink" href="http://www.w3schools.com/cssref/sel_nth-of-type.asp">http://www.w3schools.com/cssref/sel_nth-of-type.asp</a><!-- m -->
Alternativ unterstützt jQuery diesen Selektor.
DerWaldschrat -
Scriptly "kann" kein UTF-8, aber er unterstützt den Import und Export, sprich, er erkennt UTF-8-Dateien und wandelt diese für ihn passend um, beim Speichern exportiert er sie.
Allerdings unterstützt er nicht alle UTF-8-Zeichen (etwa diesen Pfeil: ?) (ich weiß aber nicht ob er das mit UTF-8 könnte).
DerWaldschrat -
Zitat von "Sören"
Ich kann dir zwar nicht sagen, wieso das so ist, aber wenn du in der Höhe einen Pixel abziehst (1079 statt 1080), entstehen keine Scrollleisten.
Ich denke, auf diesen einen Pixel wirst du verzichten können.
Ja, das habe ich auch schon festgestellt: Gut, dass ich da nicht der einzige bin.
Danke nochmal.DerWaldschrat
-
Ich habe folgendes Problem:
Wenn ich eine Seite (siehe Code) im FF mit 1920x1080 im Fullscreenmode anzeigen lasse, blendet Firefox mir trotzdem Scrollleisten ein, obwohl die Seite eigentlich perfekt angezeigt wird in Chrome,
Nur wenn ich wie im Code den (und nur den) overflow-y des body auf hidden setze funktioniert es im FF auch ohne Scrollleisten, obwohl in X-Richtung vorher doch eigentlich auch eine Scrollleiste angezeigt wird.
WARUM???HTML
Alles anzeigen<html><head> <title>Slideshow</title> <meta charset="UTF-8"> <style> body { overflow-y: hidden; // Hiermit funktioniert es!!! } * { margin: 0px; padding: 0px; } .slide { width: 1920px; height: 1080px; background: white; } </style> </head> <body> <div id="present" style="position: absolute; left: 0px; top: 0px; width: 1920px; height: 1080px; overflow: hidden;"> <div class="slide active" style="position: absolute; z-index: 3000; left: 0px; top: 0px;"> <i></i>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, </div> <div class="slide inactive" style="position: absolute; z-index: 1000; left: 0px; top: 0px;"> Auch gibt es niemanden, der den Schmerz an sich liebt, sucht oder wünscht, nur, weil er Schmerz ist, es sei denn, es kommt zu zufälligen Umständen, in denen Mühen und Schmerz ihm große Freude bereiten können. <i></i> Um ein triviales Beispiel zu nehmen, wer von uns unterzieht sich je anstrengender körperlicher Betätigung, außer um Vorteile daraus zu ziehen? Aber wer hat irgend ein Recht, einen Menschen zu tadeln, der die Entscheidung trifft, eine Freude zu genießen, die keine unangenehmen Folgen hat, oder einen, der Schmerz vermeidet, welcher keine daraus resultierende Freude nach sich zieht? Auch gibt es niemanden, der den Schmerz an sich liebt, sucht oder wünscht, nur, weil er Schmerz ist, es sei denn, es kommt zu zufälligen Umständen, in denen Mühen und Schmerz ihm große Freude bereiten können. Um ein triviales Beispiel zu nehmen, wer von uns unterzieht sich je anstrengender körperlicher Betätigung, außer um Vorteile daraus zu ziehen? Aber wer hat irgend ein Recht, einen Menschen zu tadeln, der die Entscheidung trifft, eine Freude zu genießen, die keine unangenehmen Folgen hat, oder einen, der Schmerz vermeidet, welcher keine daraus resultierende Freude nach sich zieht? Auch gibt es niemanden, der den Schmerz an sich liebt, sucht oder wünscht, nur, </div> </div> </body></html>
DerWaldschrat -
Hallo!
Ich möchte für meine Homepage die JavaScript Dateien (jQuery, jQueryUI...) gzipped ausliefern, allerdings nur an die Browser, die das unterstützen.
Die Dateien liegen sowohl in komprimierter (z.B. jQuery.js.gz) als auch in dekomprimierter (jQuery.js) Form vor, um Serverlast zu sparen.
Wie lässt sich das jetzt umsetzten?Ich bin auf folgenden Link gestoßen:
<!-- m --><a class="postlink" href="http://floern.com/webscripting/dateien-mit-htaccess-gzip-komprimieren">http://floern.com/webscripting/dateien- ... mprimieren</a><!-- m -->
(Natürlich für JavaScript angepasst)
Allerdings erhalte ich mit dieser Methode einen "Internal Server Error" (sowohl auf meinem XAMPP als auch online bei <!-- m --><a class="postlink" href="http://all-inkl.com">http://all-inkl.com</a><!-- m -->).Ich hatte mir noch folgende PHP-Lösung überlegt:
PHP<span class="syntaxdefault"><br /></span><span class="syntaxcomment">// js.php<br /></span><span class="syntaxdefault">$accept </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"HTTP_ACCEPT_ENCODING"</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">$file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(isset(</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"QUERY_STRING"</span><span class="syntaxkeyword">])</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"#^[a-zA-Z0-9.-_]+\.js$#"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"QUERY_STRING"</span><span class="syntaxkeyword">])</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">?</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"QUERY_STRING"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(empty(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> exit</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Content-Type: text/javascript"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$accept</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"gzip"</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!==</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Content-Encoding: gzip"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> include $file </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">".gz"</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> include $file</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault"> </span>
Lokal (PHP-Version: 5.3.1) funktioniert diese auch, online (PHP-Version: 5.2.12) meldet er bei einer der JS-Dateien einen "parse-Error", weil er in der gzip-Datei über eine eckige Klammer stolpert.Ich bitte um Lösungsmöglichkeiten (sowohl für.htaccess als auch für .php, eines würde reichen)
DerWaldschratedit: Wenn man in der PHP-Lösung "include" durch "readfile" ersetzt, funktioniert es.
Allerdings sind die Server-Error bei .htaccess dennoch komisch (mod_rewrite funktioniert eigentlicht)edit2: Ohne Gzip wird die Seite nach mehrmaligem Aufrufen schneller geladen als mit, weil dann der Cache wirkt
=> Gzip bringt irgendwie nix -
Zitat von "Sarkkan"
Achja, stimmt
Wir haben hier ja über einen Informatiklehrer geredet
Irgendwie hab ich noch keinen Info-Lehrer gesehen, der Ahnung hat
Arbetitet ihr den schon mit CSS oder macht ihr eure Webseiten über Tabellenlayout? xDD
Wieso ist das eigentlich so?
Wir haben an einer Schule mit 1800 Schülern gerade mal 1 Informatiklehrer, der Ahnung hat, der Rest, ..
naja.
DerWaldschrat