PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername/E-Mail:
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 291
» Neuestes Mitglied: awajonn11
» Foren-Themen: 171
» Foren-Beiträge: 901

Komplettstatistiken

Aktive Themen
Kaufen Sie ein TELC-GOETH...
Forum: Off Topic
Letzter Beitrag: awajonn11
12.04.2024, 13:37
» Antworten: 0
» Ansichten: 187
Kaufen Sie ein TELC-GOETH...
Forum: PHP Basics
Letzter Beitrag: awajonn11
12.04.2024, 13:35
» Antworten: 0
» Ansichten: 99
PHPMailer Pfad wird nicht...
Forum: PHP Basics
Letzter Beitrag: Arne Drews
23.08.2022, 21:07
» Antworten: 5
» Ansichten: 2.879
PHP 8.1: Endlich Enums in...
Forum: PHP Basics
Letzter Beitrag: Arne Drews
22.04.2021, 16:55
» Antworten: 1
» Ansichten: 2.698
Einfache Template Engine
Forum: PHP Template Engines
Letzter Beitrag: Arne Drews
22.04.2021, 16:49
» Antworten: 4
» Ansichten: 11.087
OAuth - Should I "scrambl...
Forum: Off Topic
Letzter Beitrag: Till
05.01.2020, 04:55
» Antworten: 0
» Ansichten: 7.882
"Invisible" Captcha
Forum: PHP Basics
Letzter Beitrag: Arne Drews
11.12.2019, 15:00
» Antworten: 5
» Ansichten: 10.414
Projektvorstellung - Test...
Forum: Off Topic
Letzter Beitrag: Till
22.11.2019, 20:03
» Antworten: 3
» Ansichten: 5.668
POST/GET routes deklarier...
Forum: PHP Basics
Letzter Beitrag: Till
14.11.2019, 19:44
» Antworten: 2
» Ansichten: 4.700
PHPMailer
Forum: PreComposed
Letzter Beitrag: Arne Drews
20.10.2019, 12:44
» Antworten: 6
» Ansichten: 8.675

 
  Header-Fehlermeldung, ist keine Funktion
Geschrieben von: Eumel - 15.08.2017, 21:41 - Forum: PHP Basics - Antworten (1)

Hallo,
ich experimentiere gerad etwas mit einem Erinnerungsscript für Geburtstage. Nur um etwas zu lernen und die grauen Zellen anzuregen. Also Rechnerei mit dem Datum und Stringzerlegung und Vergleiche.
Meine Entwicklungsumgebung ist ein RaspberryPi2 mit Raspian, dem Apache2 und PHP (Version?). Von meinem Windows10-Rechner aus greife ich auf den Homepageordner auf dem Pi  zu, editiere mit Notepad++ und teste vom W10-Rechner aus mittels Firefox.

Das zur kurzen Vorrede.

Ich habe eine Textdatei, die die ganzen Geburtstage enthält. Jede Zeile folgt dem Schema:
Vorname;Name;01.01.1900
Vorname2;Name2;07.02.1967 usw.

Mein Script öffnet diese Datei, liest eine Zeile ein, zerpflückt die Daten und legt sie in Einzelstrings ab. Dann wird gerechnet und bei Übereinstimmung zum aktuellen Datum wird eine Email mittels PHPMailer versandt. Das funktioniert vom Raspi aus auch anstandslos. Lade ich das Script auf meinen Webspace, bekomme ich folgende Fehlermeldung:

Zitat:Fatal error: Call to undefined function phpheader() in /WWWROOT/61910/htdocs/jubileum/birthday.php on line 1


Diese Zeile der PHP-Datei lautet:

Zitat:header ('Content-Type: text/html; charset=utf-8');

Direkt nach dem einführenden PHP-Tag.

Frage Warum kommt diese Meldung?

Fragen zu fragen? Bitte stellt sie.

Danke

Drucke diesen Beitrag

  Migrate async+syncronous require to only async
Geschrieben von: Till - 16.07.2017, 19:36 - Forum: JavaScript / JavaScript Frameworks / Ajax - Antworten (6)

Hallo,
ich habe mir die require Funktion und mein library so schön node.js like nachgebaut und die shims runtergeladen, so daß node.js scripts in der Regel im Browser funktionieren ( sogar require('fs') = FilesystemAPI/indexedDB ).
Und alles funktioniet eigentlich wunderbar, eigentlich bin ich ehrlich gesagt einwenig stolz auf mich.

Aber:
Synchrone XMLHttpRequest ist zukunft nur noch im worker erlaubt wie jeder weiß.
Meine nachgebaute require Funktion mit Cache und module context(zumteil in arbeit) unterstützt sync und oder async, je nachdem ob eine callback Funktion übergeben wird.

Ich habe auch eine vm/shim require('vm') und habe vor demnächst die module in den vm context zu schicken (ich errinere an meine frdl language Cool )

Nun gib es die eine Möglichkeit, die synchronen require calls solange in den Promise zu schicken bis er resolved wird, was aber den Prozess anhalten würde und einfrieren könnte.
Die andere Möglichkeit wäre mehr "sexy": Einen Worker zu starten, die files vorher von der VM nach dem "initial require" zu parsen/etc und die requires in den cache zu laden und das modul erst auszuführen wenn die required module im cache sind, dann nämlich funktioniert im folgenden auch das synchrone require.

Any more suggestions? Kann jemand was dazu sagen? Wißt Ihr was ich meine?

Heart Ich liebe Euch Alle, fast alle Big Grin

mfg
Till

Drucke diesen Beitrag

  UTF-8 Verschwörung Ergänzung
Geschrieben von: Till - 26.06.2017, 12:25 - Forum: Off Topic - Antworten (3)

Hallo @all,
ich beziehe mich hier auf
http://www.php-rocks.de/thema/142;775-re-session-files-werden-nicht-beschrieben.html#pid775
http://www.php-rocks.de/thema/98;506-die-utf8-verschw-rung.html#pid506
welche ich gerne ergänzen möchte, bzw. ich versuche es so gut wie geht zu reproduzieren.

(sorry, @Arne, früher hab ich es nicht geschafft, beschäftigt)

Problemstellung:
- Ich habe eine Datenbank mit "gemixten" Kollationen und entsprechenden Inhalten.

Lösung:
- Ich analysiere den Output (auf UTF-8) und passe ihn ggf. entsprechend an.
-----------------------------------------------------------------------------------
Referenz:

ob_start
mb_detect_encoding
htmlentities
html_entity_decode
htmlspecialchars_decode

PHP-Code:
$isUTF8 = function($string)
{
 
       return preg_match('%(?:
        [\xC2-\xDF][\x80-\xBF]        # non-overlong 2-byte
        |\xE0[\xA0-\xBF][\x80-\xBF]               # excluding overlongs
        |[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}      # straight 3-byte
        |\xED[\x80-\x9F][\x80-\xBF]               # excluding surrogates
        |\xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
        |[\xF1-\xF3][\x80-\xBF]{3}                  # planes 4-15
        |\xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
        )+%xs'
$string);
}; 

simple_html_dom_parser http://simplehtmldom.sourceforge.net/


PHP-Code:
$convHtmlEntities = function($str) use($contentTypes$isUTF8){

if(
true !== $isUTF8($str   ){
 
    $map = array(
 
       chr(0x8A) => chr(0xA9),
 
       chr(0x8C) => chr(0xA6),
 
       chr(0x8D) => chr(0xAB),
 
       chr(0x8E) => chr(0xAE),
 
       chr(0x8F) => chr(0xAC),
 
       chr(0x9C) => chr(0xB6),
 
       chr(0x9D) => chr(0xBB),
 
       chr(0xA1) => chr(0xB7),
 
       chr(0xA5) => chr(0xA1),
 
       chr(0xBC) => chr(0xA5),
 
       chr(0x9F) => chr(0xBC),
 
       chr(0xB9) => chr(0xB1),
 
       chr(0x9A) => chr(0xB9),
 
       chr(0xBE) => chr(0xB5),
 
       chr(0x9E) => chr(0xBE),
 
       chr(0x80) => '€',
 
       chr(0x82) => '‚',
 
       chr(0x84) => '„',
 
       chr(0x85) => '…',
 
       chr(0x86) => '†',
 
       chr(0x87) => '‡',
 
       chr(0x89) => '‰',
 
       chr(0x8B) => '‹',
 
       chr(0x91) => '‘',
 
       chr(0x92) => '’',
 
       chr(0x93) => '“',
 
       chr(0x94) => '”',
 
       chr(0x95) => '•',
 
       chr(0x96) => '–',
 
       chr(0x97) => '—',
 
       chr(0x99) => '™',
 
       chr(0x9B) => '’',
 
       chr(0xA6) => '¦',
 
       chr(0xA9) => '©',
 
       chr(0xAB) => '«',
 
       chr(0xAE) => '®',
 
       chr(0xB1) => '±',
 
       chr(0xB5) => 'µ',
 
       chr(0xB6) => '¶',
 
       chr(0xB7) => '·',
 
       chr(0xBB) => '»',
 
 
  
      
          chr
(0xE4) => 'ä',
 
            chr(0xDC) => 'Ü',
 
             chr(0xFC) =>  'ü'
 
               chr(0xD6) => 'Ö',
 
              chr(0xF6) => 'ö',
 
       
                chr
(0xDF) => 'ß',
 
       
        
              chr
(0x20AC) => '€'
 
       
    
); 
 
   
    

         $str 
strtr($str$map); 
 
       
      $str
=str_replace('å','ü',$str);
}

 
 
 $charset mb_detect_encoding($str, ((isset($contentTypes['charset']) ? $contentTypes['charset'] : 'auto'))); 
 
 return htmlentities
 
              html_entity_decode
 
                  htmlspecialchars_decode(
 
                         $str,ENT_QUOTES), 
 
               ENT_QUOTES ENT_HTML5$charset), 
 
        ENT_QUOTES ENT_HTML5$charsetfalse //  !important
 
     );
}; 

-----------------------------------------------------------------------------------

- ob_start startet den Outputbuffer
- simple_html_dom_parser -> find('text') findet Textnodes
   http://simplehtmldom.sourceforge.net/
- $isUTF8/mb_detect_encoding rät das Encoding
- $convHtmlEntities kovertiert
- htmlentities konvertiert

-----------------------------------------------------------------------------------

Hinweis:
Je nach Implementation kann das parsen mit simple_html_dom_parser sehr viel CPU verbrauchen!

-----------------------------------------------------------------------------------

Meine konkrete Implementation ist ziemlich "webfan basiert" und nicht allgemein verwendbar deshalb poste ich sie hier nicht, schicke sie aber gerne auf Anfrage per PM o.ä.

mfg
Till

Drucke diesen Beitrag

  Session Files werden nicht beschrieben
Geschrieben von: Till - 21.05.2017, 11:51 - Forum: PHP Basics - Antworten (5)

Ich bin mit meiner Migration nach php 7.1 nun fast durch und hänge nun an Sessions fest:
Egal ob ich "{WEBSPACEROOT}{/}tmp" oder "/tmp"(+open base dir) als session.save_path angebe,
es werden zwar die Session-Dateien erstellt, aber nicht mit Daten befüllt (0kb).

Code:
<?php
session_start();

if(!isset($_SESSSION['testcount']))$_SESSSION['testcount']=0;
$_SESSSION['testcount']=$_SESSSION['testcount']+1;

if (!is_writable(session_save_path())) {
   echo 'Session path "'.session_save_path().'" is not writable for PHP!<br />';
}
echo sys_get_temp_dir().'<br />';
echo session_save_path().'/'.session_id().'<br />';
echo $_SESSSION['testcount'];
Dies Ausgabe/der Counter bleibt immer auf 1 und das session file bleibt 0kb groß.

Irgendein anderer client/Anwendung(*) schafft es allerdings auf der Domain/im session.save_path session files zu erstellen welche mit Daten befüllt werden und das prefix "sess_sess" haben (statt nur "sess_).
...

EDIT 1:
*=Das ist die Production-Anwendung welche die Session auf der Test-Domain in das Verzeichnis schreibt.
Die Anwendung auf der Production-Domain verwendet allerdins das 'user' session module und session_set_save_handler(db-basiert),
hier scheint es Probleme zu geben:
- Die DB konnektiert zwar richtig in der Anwendung, es gibt allerdings noch teilweise Kollationsprobleme durch alte
 non-utf8 Daten, ich glaube aber nicht das dies hier das Problem ist?
 Ich suche weiter....!?

EDIT 2:
Mist: Jetzt geht meine alte Version auch nicht mehr, weiß aber grad spontan nicht was ich dort verändert habe.

...Sorry, ich muß wohl erstmal einen Kaffee trinken, poste aber schonmal vielleicht kennt jemand das Verhalten und hat einen Tipp für mich?

mfg
Till

Drucke diesen Beitrag

  Alles Neu macht der Mai! Migrating to php 7.x
Geschrieben von: Till - 15.05.2017, 19:25 - Forum: Off Topic - Keine Antworten

Ich will alles neu machen, aber ich weiß nicht wo ich anfangen soll Sad

Drucke diesen Beitrag

  [C#] Literatur zu WPF
Geschrieben von: Arne Drews - 04.05.2017, 15:48 - Forum: Off Topic - Antworten (1)

Hallo,

Ich würde mich gerne mal etwas tiefer mit Windows Presentation Foundation befassen.
Zündender Punkt dazu ist, dass ich in meinen C#-Applikationen gerne Spalten einer DataGrid gruppieren, filtern und sortieren möchte.
Sortieren kann ja jede DataGrid, aber eben das Filtern und Gruppieren ist etwas mühsam mit den WinForms.
Daher möchte ich das zukünftig eher in WPF umsetzen, weil es dort "besser" funktionieren soll, bzw. andere Möglichkeiten bestehen.

Befasst oder hat sich jemand damit schon mal befasst und kann mir evtl. Tipps für gute Literatur geben?
Ich habe natürlich schon einiges an Literatur gefunden, aber mich interessiert, ob jemand bereits Erfahrungen hat und mir eins empfehlen kann?


Danke und Gruß
Arne

Drucke diesen Beitrag

  Giveaways und Angebote
Geschrieben von: mermshaus - 24.04.2017, 05:31 - Forum: Off Topic - Antworten (2)

Bei Packt Publishing gibt es noch bis ca. Ende des Tages (24. April) ein kostenloses PHP-7-Ebook von Antonio Lopez:

- http://bit.ly/PacktDailyOffer

Account erforderlich.

Gestern gab es dort offenbar ein Buch zu Git. Lohnt sich vielleicht, da auch später noch reinzuschauen. Ich weiß es nicht.

Drucke diesen Beitrag

  Zend Framewok, Psr-Autoloader
Geschrieben von: Till - 04.04.2017, 14:37 - Forum: PHP Frameworks - Antworten (2)

Hallo an Alle,
ich möchte keine Grundsatzdiskussion vom Zaun brechen, auch ist es nicht wirklich wichtig, möchte es aber mal äußern und Meinungen dazu hören.

Aus verschieden Gründen (welche genau jetzt hier den Rahmen sprengen) möchte ich nun doch wohl das Zend Framework meinem Paradigma hinzufügen.

Dazu gibts eigentlich nicht mehr viel zu sülzen, was mich nur gerade beschäftigt und was mir gar nicht gefällt, es
geht im wesentlichen um Psr-0 versus Psr-4:

PHP-Code:
class Model_MyChildClass_undsoweiter ... 
Ich bevorzuge eigentlich
PHP-Code:
class <AppNamespace>/VendorNamespace/Model/MyClass .... 

Was nun, Expertenmeinungen?

Mein Framework berücksichtigt und implementiert eigentlich alle Psr-Autoloader, trotzdem gefällt es mir irgendwie nicht in bezug auf die Struktur der Application/Implementation.

mfg
Till

Drucke diesen Beitrag

  PHP Editor
Geschrieben von: elysium - 31.03.2017, 14:17 - Forum: Off Topic - Antworten (10)

Servus,

nun bin ich so begeistert das ich direkt mal Werbung machen muss Shy .

Ich habe nun einige Editoren kurz getestet, Brackets, VS Code, Atom, Dreamweaver usw..
Jetzt habe ich, für kleines Geld, aber vor einiger Zeit einen echt genialen Editor gefunden.

Rapid PHP

Ich bin wirklich mehr als nur begeistert von dem Ding (und Nein ich bekomm kein Geld von denen für Werbung Cool )
Da Bilder mehr sagen als tausend Worte, habe ich in dem Link oben, direkt auf die Screenshot Seite verwiesen.

Also falls jemand am suchen eines Editors ist, ich kann nur empfehlen, diesen Editor auch mal zu testen.

Für den gewaltigen Umfang den er bietet (unter anderem eine deutsche Benutzeroberfläche) ist er wirklich sehr günstig (36 €).

Eventuell hilft es ja jemandem.

Gruß,

Dennis

Drucke diesen Beitrag

  Fine Image Gallery
Geschrieben von: mermshaus - 30.03.2017, 10:15 - Forum: Code Goodies - Keine Antworten

Hallo.

Ich möchte hier mein One-File-Bildergalerie-Script vorstellen. Inzwischen auch als Repository auf GitHub, weshalb ich hier den veralteten Download mal rausnehme. Link zum Projekt:

- https://github.com/mermshaus/fine/releases

(Dort kann natürlich auch der Code eingesehen werden. Ich habe die Release-Seite verlinkt, weil die Software von der Idee her fertig „kompiliert“ als eine einzige index.php-Datei ausgeliefert wird. Die einzelnen Quellcodedateien und Assets werden in dieser Datei zusammengepackt.)

Eine Demo ist aktuell hier zu sehen: http://fine.ermshaus.org/

[Bild: http://i.imgur.com/AxfsJoy.jpg]

Die Software besteht aus einer index.php-Datei, die zum Beispiel dazu gedacht ist, unkompliziert in ein Verzeichnis mit Bildern kopiert werden zu können (zum Beispiel via FTP oder SSH) und ohne Konfiguration beim Anwählen des Verzeichnisses über einen Browser/Webserver eine Bildergalerie-Ansicht des Verzeichnisinhalts zu erzeugen.

Außerdem gibt es noch einen Alben-Modus, der zusätzlich eine Übersichtsseite mit einer Liste von Alben anzeigt.

Das Script ist grundsätzlich responsive/mobile first angelegt. Für mehr Informationen siehe die oben verlinkte GitHub-Seite und dort vor allem die README-Datei.

Ideen, Wünsche, Anregungen und Kritik sind immer gern gesehen. (Wobei viele bestehende Probleme bekannt sind. Etwa das Nicht-Beachten von Orientation-EXIF-Tags. Ich habe nur leider keine Liste davon. Smile)

Viele Grüße

Drucke diesen Beitrag