Nimm doch statt wget einfach direkt die PHP-Funktionen. Kannst z.B. fopen('http://bla.de') machen. Wenn du low-level mäßig dich selbst um Header etc. kümmern willst, gibt es fsockopen('bla.de'), und wenn du nur den Inhalt haben möchtest file_get_contents('http://bla.de').
Beiträge von The User
-
-
Ach ich mach mir das selber mit getdate.
Seit wann kann PHP das von hause aus? -
Hi!
Ich suche ein schnelles PHP-Script, dass eine nationalisierte Fassung der date-Funktion bietet, also Platzhalter für Wochentage und Monate in der jeweiligen Landessprache. Man sollte alles mit anfangen dürfen. Irgendeine Idee?
Wenn nicht, schreib ich mir selber was, was immer an die Date-Funktion weiterleitet.Viele liebe Grüße
The UserPS:
Habe soeben die Funktion getdate gefunden, damit sollte es kein Problem sein, das selber zu machen. -
...bloß an wen?
Bin schon so gewähnt daran, das muss jetzt sein.
-
Ich glaub, den gabs schonmal. Ich kenn ihn auf jeden Fall. Ist aber gut.

-
rar ist ja auch erlaubt. Und wer WinRar oder 7z oder whatever hat, kann auch tar, bz2 und gz entpacken.
Und neben doc gehört einfach noch odt.
gz und bz2 sind sogar eher häufiger verfügbar als rar, weil sie unter GNU/Linux, Mac OS X etc. standardmäßig vorhanden sind. -
Das geht ja mal gar nicht für Leute wie mich!

-
Einer aus meiner Stufe hat eine Übersicht von Methoden, einen Löwen in der Wüste in einen Käfig zu sperren, aufgestellt. Das mit der innen/außen-Definition war natürlich dabei.

Mathematiker-Methoden:
1. Man stelle sich in den Käfig und definiere innen als außen und umgekehrt.
2. Man ziehe einen Zaun um sich herum und definiere außen als innen und umgekehrt. Einen Löwen in einem umzäunten Gebiet zu fangen und in einen Käfig zu sperren ist trivial.
3. Methode mit geometrischer Projektion: Man nehme o.B.d.A. an, dass die Wüste eine Ebene ist. Die Ebene projiziere man auf eine Gerade, die durch den Käfig verläuft, und diese Gerade auf einen Punkt im Käfig. Der Löwe ist gefangen.Ich muss mir die Liste besorgen.

Es waren u.A. auch Programme zum Löwen-Fangen und physikalische Methoden dabei.@Firefox
Thema Suprafluide: Es ist in beiden Fällen so, dass man den Sachverhalt zugleich mit banalen als auch mit wissenschaftlichen Begriffen umschreibt.
Man kann, wenn man will sagen: Die Temperatur ist sehr tief, weil bei 2,6mK jeder erfrieren würde und diese Kühlung extrem teuer ist. Und man kann sagen, sie ist nicht ultratief, weil das als tiefer definiert ist. Aber das zusammen klingt sehr seltsam.
Ebenso kann man das mit einer Badewanne vergleichen oder mit einem Supraleiter, aber die Vergleiche sind auf keinen Fall gleichwertig. Ich versteh da auch nicht viel von, aber ich finds lustig.^^ -
@Firefox
Naja, Mathematiker sind so, den Rest des Feuerlöschens kann man sich dann als "Übungsaufgabe" zu Hause herleiten.
@all
Ich kanns nicht richtig erklären, aber die Stilblüten im Wikipedia-Artikel zur Suprafluidität bringen mich sehr zum Lachen:Zitat...bei schnellerer Rotation bilden sich quantisierte mechanische Wirbel (ähnlich den magnetischen Flusswirbeln im Supraleiter oder Wirbeln in der Badewanne).
ZitatBei dem extrem seltenen Isotop ³He liegt TSf bei 2,6 mK (das ist eine sehr tiefe Temperatur, 0,0026°C über dem absoluten Nullpunkt, aber bei weitem noch nicht eine der ultratiefen Temperaturen von 10−7 K und weniger...
In einem Atemzug das Banale und das wissenschaftlich Präzise.
-
Wie alt bist du denn überhaupt?
Und hast du schon immer ein schlechtes Verhältnis zu deinem Vater, oder ist das erst seit einiger Zeit?
Also zwischen deinen Eltern steht es nicht soo schlecht? Eher "normales" Gezanke? -
Man reicht es nicht, die Struktur im Computer zu haben, da muss man doch nicht noch ein Wort draus machen.

-
Meine nächtlichen Grüße hinterher...
-
Glückwunsch, wie viele Kaninchen habt ihr denn im Moment?
Also den ganzen CDU/CSU-Kram finde ich inhaltlich das letzte, keine Ziele, keine Ideale, keine Veränderung, keine ordentlichen Maßnahmen, da hilft auch kein jüngeres Blaublut.
PS:
Theme Speicherung <--> Zensur:
Bei Zensur kann man mal für eine Seite die DNS-Sperre umgehen, das sollte kein Problem sein. Gegen Speicherung muss man schon alles umleiten und das ist langsam. Im übrigen ist Zensur noch nicht Realität. (naja, wer sich Kinder-Pornos anschaut...)PPS:
Die Version finde ich besonders hart:
[Blockierte Grafik: http://netzpolitik.org/wp-upload/schauble20.png] -
Die Umfrage wurde wahrscheinlich von Spiegel gelöscht.
Es war gefragt, was man von der Arbeit Merkels in den letzten 4 Jahren hält (in Schulnoten), als ich gestern das letzte Mal geschaut habe, stand es bei 92% für ungenügend.
-
Happy Birthday!
-
@Sweetangel
Kommt deine Tochter in die Schule?@all
Bei Spiegel geht es gerade ziemlich ab:
http://www1.spiegel.de/active/vote/fc…cgi?voteid=6300
Vor einer Stunde habe ich ungenügend gevotet, da waren es noch knapp unter 20% und gut hatte 22%, jetzt sind es über 70%.
Ich kann das voten für "ungenügend" nur empfehlen.
-
Also wenn ich irgendwie an son Teil heran käme - wäre schon krass.
Du kannst auf Maemo komplettes KOffice-Paket und Gott weiß was alles laufen lassen. Wenn man ein wenig Zeit investiert, die Sachen an die Bildschirmgröße anzupassen, sind so Sachen echt nützlich. -
Such einfach nach:
site:deineseite.deAnsonsten kanns auch sein, dass du nicht mehr geblockt, aber noch nicht drinnen bist.
Man kann seine Seite irgendwo eintragen. Einfach mal ein wenig bei Google rumklicken. -
Hi Admin!
Ich finde .odt, tar.gz und tar.bz2 wären noch ganz sinnvolle Dateitypen für den Upload. Sind auch alle schön komprimiert.

Viele liebe Grüße
The User -
Fließkommazahlen (float, double,...) reichen nicht immer aus, um gebrochene Zahlen darzustellen.
Festkommazahlen stellen dabei eine Möglichkeit dar. Häufig kommt es vor, dass man Anteile ausdrücken möchte, also Zahlen im Intervall [0, 1] oder [-1, 1], genau das leistet dieses Klassen-Template. Im beigelegten Archiv findet man alles, was gebraucht wird.
Darüber hinaus wird über eine Policy eine Überprüfung auf Laufzeitfehler (overflow/underflow) ermöglicht. Diese kann aber selbstverständlich abgestellt werdenEin Beispiel:
C
Alles anzeigen#include <iostream> #include "part.h" using namespace std; using namespace numerics; typedef part<unsigned int, double, part_policies::assert_check> part_t; int main() { part_t x = part_t::from_float(0.25); part_t y = part_t::from_float(0.5); part_t z = x * y; cout << z << endl; z *= 6; cout << z << endl; z -= 0.6; cout << z << endl; z -= y; // z would be less than 0, assertion fails }Der Code des Klassen-Templates:
C
Alles anzeigen/* (C) 2009 Jonathan Schmidt-Dominé This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. To read the text of the GNU Lesser General Public License, see <http://www.gnu.org/licenses/>. */ #ifndef NUMERICS_PART_H #define NUMERICS_PART_H #include <cassert> #include <limits> // When you don't want to use STL's <iostream>, declare NUMERICS_NO_IO. #ifndef NUMERICS_NO_IO #include <iostream> #endif #include "operators.h" namespace numerics { namespace part_policies { /** * No checks for overflow and underflow will be performed. */ template<class T> struct no_check { typedef typename T::data_type data_type; inline static void plus(const data_type, const data_type) {} inline static void minus(const data_type, const data_type) {} template<typename F> inline static void from_float(const F f) {} template<typename F> inline static void multiply(const data_type, const F) {} template<typename F> inline static void divide(const data_type, const F) {} }; /** * Checks are performed at runtime using assert, iff NDEBUG was not set. * This makes it simple to search for bugs in calculations. */ template<class T> struct assert_check { typedef typename T::data_type data_type; inline static void plus(const data_type first, const data_type second) { assert(T::max() - second >= first); } inline static void minus(const data_type first, const data_type second) { assert(first - T::min() >= second); } template<typename F> inline static void from_float(const F f) { assert(f <= 1); assert(f >= (T::min() == 0 ? 0 : -1)); } template<typename F> inline static void multiply(const data_type first, const F second) { assert(T::max() / second >= first); assert(T::min() / second <= first); } template<typename F> inline static void divide(const data_type first, const F second) { assert(F(first) / T::max() <= second); assert(-F(first) / T::max() <= second); } }; }; /** * This class represents a number from the interval [0, 1] (T is unsigned) or [-1, 1] (T is signed). * It can be useful when you need high precision for such numbers. * You can use the instances of this class like normal floating-point numbers. * Don't forget to use \p typedefs for instances of the class-template. * @param T - The type used to represent the number. It's typically a signed or an unsigned integer. * @param Float - For some calclations you'll still need floating-point-numbers. This type will normally be used for internall calculations and checking. You'll typically use double, with an Integer you may lose a precision. * @param CheckingPolicy - A class like part_policies::no_check or part_policies::assert_check. This policy can check for under- and overflows. */ template<typename T, typename Float = double, template<typename> class CheckingPolicy = part_policies::no_check> class part { static T minimum; public: T data; inline static const T max() { return std::numeric_limits<T>::max(); } inline static const T min() { return minimum; } typedef part<T, Float, CheckingPolicy> self; typedef T data_type; typedef CheckingPolicy<self> check; typedef Float float_type; part() : data(0) { } explicit part(const T data) : data(data) { } template<typename F> inline static self from_float(const F f) { check::from_float(f); return self(f * max()); } inline static self from_float(const Float f) { check::from_float(f); return self(f * max()); } template<typename F> inline void set_float(const F f) { check::from_float(f); data = f * max(); } inline void set_float(const Float f) { check::from_float(f); data = self(f * max()); } inline self& operator+=(const self s) { check::plus(data, s.data); data += s.data; return *this; } inline self& operator-=(const self s) { check::minus(data, s.data); data -= s.data; return *this; } inline self& operator*=(const self s) { data /= (float_type(max()) / s.data); return *this; } template<typename F> inline F to_float() const { return F(data) / max(); } inline Float to_float() const { return Float(data) / max(); } template<typename U> inline self& operator*=(const U t) { check::multiply(data, t); data *= t; return *this; } template<typename U> inline self& operator/=(const U t) { check::divide(data, t); data /= t; return *this; } template<typename U> inline self& operator+=(const U t) { check::from_float(t); T tmp(t * max()); check::plus(data, tmp); data += tmp; return *this; } template<typename U> inline self& operator-=(const U t) { check::from_float(t); T tmp(t * max()); check::minus(data, tmp); data -= tmp; return *this; } }; template<typename T, typename F, template<typename> class CP> inline bool operator==(const part<T, F, CP> first, const part<T, F, CP> second) { return first.data == second.data; } template<typename T, typename F, template<typename> class CP> inline bool operator<(const part<T, F, CP> first, const part<T, F, CP> second) { return first.data < second.data; } template<typename T, typename F, template<typename> class CP> inline F operator/(const part<T, F, CP> first, const part<T, F, CP> second) { return F(first.data) / second.data; } #ifndef NUMERICS_NO_IO template<typename T, typename F, template<typename> class CP> inline std::ostream& operator<<(std::ostream& out, const part<T, F, CP> p) { out << p.to_float(); return out; } template<typename T, typename F, template<typename> class CP> inline std::istream& operator>>(std::istream& in, part<T, F, CP>& p) { F f; in >> f; p.set_float(f); return in; } #endif template<typename T, typename F, template<typename> class CP> T part<T, F, CP>::minimum = std::numeric_limits<T>::is_signed ? -std::numeric_limits<T>::max() : 0; }; #endifKommentare währen mir lieb, insbesondere wie es mit impliziten Konvertierungen aussieht. Ich habe soetwas nun vorsichtshalber erst einmal ausgeschlossen. Eine automatische Konvertierung von/nach double wäre aber natürlich möglich.
Viele liebe Grüße
The User