From lists at sebastianmendel.de Mon Jun 30 11:07:56 2008
From: lists at sebastianmendel.de (Sebastian Mendel)
Date: Mon, 30 Jun 2008 11:07:56 +0200
Subject: [php] Download von Daten
In-Reply-To: <48689B8B.30002@bfs.de>
References: <48689B8B.30002@bfs.de>
Message-ID: <4868A26C.3010401@sebastianmendel.de>
David Thamm schrieb:
> Hi List!
>
> Ich hab gerade wieder mal ein Problem !
> Ich hab in tmp nun über tmpname() und so weiter und so fort eine Datei
> erzeugt und gefüllt. Diese enthält nun die Messwerte und nun hab ich
> versucht diese datei auf der Seite zum download an zu bieten, doch
> leider geht das so nicht:
warum gibst du die erzeugte Datei nicht direkt aus, anstatt sie erst zu
Speichern und dann mit einem Link anzubieten?
> Hier mein versuch:
>
> echo 'Download this Data';
>
> davor wird die Datei einfach nur gefüllt.
> Jetzt steht aber auf dem Link, zwar die Datei doch wenn ich den
> Speichere steht nur ne HTML seite drin, also nur müll und nicht das was
> ich erwarte.
ich bezweifel das dein Webserver Dateien aus dem Temp-Verzeichnis ausliefern
kann.
>
> Welche möglichkeiten habe ich da noch um ein Download anzubieten?!?
du kannst die Datei direkt senden nachdem du sie erzeugt hast, also ohne
eine weitere Seite mit Link, oder du sendest sie mittels
http://php.net/http_send_file
oder
http://php.net/fpassthru
From lists at sebastianmendel.de Mon Jun 30 11:33:19 2008
From: lists at sebastianmendel.de (Sebastian Mendel)
Date: Mon, 30 Jun 2008 11:33:19 +0200
Subject: [php] Download von Daten
In-Reply-To: <4868A6BD.40207@bfs.de>
References: <48689B8B.30002@bfs.de> <4868A26C.3010401@sebastianmendel.de>
<4868A6BD.40207@bfs.de>
Message-ID: <4868A85F.7050601@sebastianmendel.de>
David Thamm schrieb:
> Sebastian Mendel schrieb:
>> David Thamm schrieb:
>>> Hi List!
>>>
>>> Ich hab gerade wieder mal ein Problem !
>>> Ich hab in tmp nun über tmpname() und so weiter und so fort eine Datei
>>> erzeugt und gefüllt. Diese enthält nun die Messwerte und nun hab ich
>>> versucht diese datei auf der Seite zum download an zu bieten, doch
>>> leider geht das so nicht:
>> warum gibst du die erzeugte Datei nicht direkt aus, anstatt sie erst zu
>> Speichern und dann mit einem Link anzubieten?
>>
>
> Ich hab das so gemacht, weil die Datei aus einer Datenbankabfrage
> erstellt wird, und ich auf der Seite nochmals anzeigen möcht von welcher
> Sonde die Daten sind und aus welchen Zeitraum. Daher brauch ich die
> zweischenseite.
Ja und? Kannst du doch, und wenn dann der Link angeklickt wird, bzw. die
Sonde und der Zeitraum ausgewählt, erzeugst du die Datei und gibst sie aus.
--
Sebastian Mendel
From harlequin2 at gmx.de Mon Jun 30 11:40:36 2008
From: harlequin2 at gmx.de (Sascha Meyer)
Date: Mon, 30 Jun 2008 11:40:36 +0200
Subject: [php] Download von Daten
In-Reply-To: <4868A26C.3010401@sebastianmendel.de>
References: <48689B8B.30002@bfs.de> <4868A26C.3010401@sebastianmendel.de>
Message-ID: <20080630094036.197230@gmx.net>
Hi David,
David Thamm schrieb:
> Ich hab in tmp nun über tmpname() und so weiter und so fort eine Datei
> erzeugt und gefüllt. Diese enthält nun die Messwerte und nun hab ich
> versucht diese datei auf der Seite zum download an zu bieten, doch
> leider geht das so nicht:
> Hier mein versuch:
>
> echo 'Download this Data';
>
> davor wird die Datei einfach nur gefüllt.
> Jetzt steht aber auf dem Link, zwar die Datei doch wenn ich den
> Speichere steht nur ne HTML seite drin, also nur müll und nicht das was
> ich erwarte.
Mal eine dumme Frage zum Verständnis vorne weg: Du hast hoffentlich unter $tmp_data nur den Pfadnamen zu der gespeicherten Datei mit den Messwerten gespeichert, richtig? Andernfalls würdest Du ja in Deine Downloadseite den Inhalt Deiner Messwerte schreiben und das dann zum Browser schicken - dann geht wohl Dein Downloadlink ziemlich unter ...
Bestenfalls speicherst Du Deine Messwerte per
$webDir = "C:/Programme/Apache Group/Apache2/htdocs/"; // Beispiel für Apache2 unter Windows
$myFile = "temp/".time().rand()."txt";
file_put_contents($webDir.$myFile, $tmp_data);
in einem Verzeichnis namens "temp" in Deinem Webspace, dann erzeugst Du danach mit
echo 'Download this Data';
den Download-Link.
Gruß, Sascha
--
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
From listen at kurznet.com Mon Jun 30 12:35:17 2008
From: listen at kurznet.com (Marcel Kurz)
Date: Mon, 30 Jun 2008 12:35:17 +0200
Subject: [php] Regex Problem
Message-ID:
Hallo,
ich hab ein kleines Regex Problem ich will alle Werte zwischen
[KNR]L3402[\KNR] bekommen also in dem Fall L3402.
Mein Regex sieht so aus: \[KNR\](.*?)\[\\KNR\]
hier funktioniert das auch http://www.regex-tester.de/uc_396_de.html
aber lokal funktioniert das nicht warum ?
Beste Grüße
Marcel Kurz
From lists at sebastianmendel.de Mon Jun 30 12:44:45 2008
From: lists at sebastianmendel.de (Sebastian Mendel)
Date: Mon, 30 Jun 2008 12:44:45 +0200
Subject: [php] Regex Problem
In-Reply-To:
References:
Message-ID: <4868B91D.8070407@sebastianmendel.de>
Marcel Kurz schrieb:
> Hallo,
> ich hab ein kleines Regex Problem ich will alle Werte zwischen
> [KNR]L3402[\KNR] bekommen also in dem Fall L3402.
> Mein Regex sieht so aus: \[KNR\](.*?)\[\\KNR\]
> hier funktioniert das auch http://www.regex-tester.de/uc_396_de.html
>
> aber lokal funktioniert das nicht warum ?
Was funktioniert nicht? Welche Funktion verwendest du? Was erwartest du? Was
bekommst du? Meldet die Funktion einen Fehler?
--
Sebastian Mendel
From listen at kurznet.com Mon Jun 30 13:07:24 2008
From: listen at kurznet.com (Marcel Kurz)
Date: Mon, 30 Jun 2008 13:07:24 +0200
Subject: [php] Regex Problem
In-Reply-To: <4868B91D.8070407@sebastianmendel.de>
Message-ID:
Hallo Sebastian,
>Was funktioniert nicht? Welche Funktion verwendest du? Was erwartest du?
Was
>bekommst du? Meldet die Funktion einen Fehler?
ich mache das selbe wie hier http://www.regex-tester.de/uc_396_de.html
also :
// Text bzw. String der durchsucht werden soll
$string = <<', print_r($array, true), '';
und erwarten tue ich:
Array
(
[0] => [KNR]L3402[\KNR]
[1] => L3402
)
Auf meinem Windows-Testsystem mit PHP 5.2.5
und Gentoo Live System mit PHP 5.2.6 bekomme ich aber nur:
Array
(
)
wo liegt der Fehler...?
Beste Grüße
Marcel
From listen at kurznet.com Mon Jun 30 13:13:49 2008
From: listen at kurznet.com (Marcel Kurz)
Date: Mon, 30 Jun 2008 13:13:49 +0200
Subject: [php] Regex Problem
In-Reply-To:
Message-ID:
Hallo Liste,
hier ist die Lösung zu meinem Problem gepostet von Frank Schenk
(i-worker mailingliste):
>das Problem ist nicht nur der reguläre Ausdruck sondern die verwendete
>Sprache und das Beachten von greedy/nongreedy.
>
>In PHP sollte folgendes funktionieren:
>
>$search = 'foo[KNR]2345[/KNR]';
>preg_match( "~\[KNR\]([^[]+)\[/KNR\]~", $search, $matches);
>print_r( $matches);
>
>Wichtig: Durch Verwendung geeigneter Delimiter (in diesem Fall "~" kann
>man sich doppelte Escapes etc. sparen und durch die "negative" Suche
>(nimm alles, was nicht "[" enthält) braucht man keine nongreedy Suche.
>Mehr dazu verrät das Handbuch.
Beste Grüße
Marcel
From lists at sebastianmendel.de Mon Jun 30 13:52:27 2008
From: lists at sebastianmendel.de (Sebastian Mendel)
Date: Mon, 30 Jun 2008 13:52:27 +0200
Subject: [php] Regex Problem
In-Reply-To:
References:
Message-ID: <4868C8FB.7000209@sebastianmendel.de>
Marcel Kurz schrieb:
> Hallo Liste,
> hier ist die Lösung zu meinem Problem gepostet von Frank Schenk
> (i-worker mailingliste):
>
>> das Problem ist nicht nur der reguläre Ausdruck sondern die verwendete
>> Sprache und das Beachten von greedy/nongreedy.
>>
>> In PHP sollte folgendes funktionieren:
>>
>> $search = 'foo[KNR]2345[/KNR]';
>> preg_match( "~\[KNR\]([^[]+)\[/KNR\]~", $search, $matches);
>> print_r( $matches);
>>
>> Wichtig: Durch Verwendung geeigneter Delimiter (in diesem Fall "~" kann
>> man sich doppelte Escapes etc. sparen und durch die "negative" Suche
>> (nimm alles, was nicht "[" enthält) braucht man keine nongreedy Suche.
>> Mehr dazu verrät das Handbuch.
ist ja alles fein und gut, hat aber rein gar nichts mit deinem Problem zu
tun, das es hier funktioniert liegt lediglich daran das er deinen \ durch
einen / ausgetauscht hat
--
Sebastian Mendel
From lists at sebastianmendel.de Mon Jun 30 13:53:36 2008
From: lists at sebastianmendel.de (Sebastian Mendel)
Date: Mon, 30 Jun 2008 13:53:36 +0200
Subject: [php] Regex Problem
In-Reply-To:
References:
Message-ID: <4868C940.5050300@sebastianmendel.de>
Marcel Kurz schrieb:
> Hallo Sebastian,
>> Was funktioniert nicht? Welche Funktion verwendest du? Was erwartest du?
> Was
>> bekommst du? Meldet die Funktion einen Fehler?
> ich mache das selbe wie hier http://www.regex-tester.de/uc_396_de.html
> also :
> // Text bzw. String der durchsucht werden soll
> $string = << [KNR]L3402[\KNR]
> EOF;
>
> // das Suchmuster mit Delimiter und Modifer (falls vorhanden)
> $pattern = '/\[KNR\](.*?)\[\\KNR\]/is';
du musst \ doppelt escapen also, \\\\
$pattern = '/\[KNR\](.*?)\[\\\\KNR\]/is';
--
Sebastian Mendel
From jg at handcode.de Mon Jun 30 14:22:08 2008
From: jg at handcode.de (Jens Giessmann)
Date: Mon, 30 Jun 2008 14:22:08 +0200
Subject: [php] Download von Daten
In-Reply-To: <4868CCC6.7010606@bfs.de>
References: <48689B8B.30002@bfs.de> <4868A26C.3010401@sebastianmendel.de>
<20080630094036.197230@gmx.net> <4868CCC6.7010606@bfs.de>
Message-ID: <20080630122208.GW28286@shack.handcode.de>
Hi,
On Mon, Jun 30, 2008 at 02:08:38PM +0200, David Thamm wrote:
> Wie behebe ich denn den Fehler:
>
> Fatal error: Call to undefined function: file_put_contents() in
> /home/vento/public_html/webserver_schl/raw_data.php on line 43
In dem du ein PHP5 verwendest ;-)
file_put_contents() gibt es seit den 5er Versionen.
Unter PHP4 musst du noch fopen(), fwrite(), fclose() einzeln aufrufen.
Gruss Jens
From listen at kurznet.com Mon Jun 30 15:10:59 2008
From: listen at kurznet.com (Marcel Kurz)
Date: Mon, 30 Jun 2008 15:10:59 +0200
Subject: [php] Regex Problem
In-Reply-To: <4868C940.5050300@sebastianmendel.de>
Message-ID:
Hallo Sebastian,
>du musst \ doppelt escapen also, \\\\
>
>$pattern = '/\[KNR\](.*?)\[\\\\KNR\]/is';
kannst du mir das noch mal genauer erklären ?
Wenn ich \ escapen will dann hab ich gedacht ich muss nur
ein \ davorsetzen also \\ schreiben bei dir setze ich ja
DREI \\\ vor das eigentliche \...
bei den [ langt ja auch nur ein \ um zu escapen
jetzt bin ich etwas verwirrt...
aber deine Lösung funktioniert auch danke...
Beste Grüße
Marcel
From martin at spuetz.net Mon Jun 30 15:57:57 2008
From: martin at spuetz.net (Martin Spuetz)
Date: Mon, 30 Jun 2008 15:57:57 +0200
Subject: [php] Download von Daten
In-Reply-To: <20080630134528.247970@gmx.net>
References: <48689B8B.30002@bfs.de>
<4868A26C.3010401@sebastianmendel.de> <20080630094036.197230@gmx.net>
<4868CCC6.7010606@bfs.de> <20080630134528.247970@gmx.net>
Message-ID: <4868E665.6050503@spuetz.net>
Sascha Meyer wrote:
> David schrieb:
>> Wie behebe ich denn den Fehler:
>>
>> Fatal error: Call to undefined function: file_put_contents() in
>> /home/vento/public_html/webserver_schl/raw_data.php on line 43
>>
> Wie schon vom Vorredner gesagt mittels fopen(), fwrite(), fclose() oder Du probierst folgendes
[snip]
> => konnte ich aber gerade nicht testen, da ich mal keinen Webserver zur Hand habe.
oder direkt:
http://pear.php.net/package/PHP_Compat
Gruß
Martin
From harlequin2 at gmx.de Mon Jun 30 16:21:58 2008
From: harlequin2 at gmx.de (Sascha Meyer)
Date: Mon, 30 Jun 2008 16:21:58 +0200
Subject: [php] Download von Daten
In-Reply-To: <4868E665.6050503@spuetz.net>
References: <48689B8B.30002@bfs.de> <4868A26C.3010401@sebastianmendel.de>
<20080630094036.197230@gmx.net> <4868CCC6.7010606@bfs.de>
<20080630134528.247970@gmx.net> <4868E665.6050503@spuetz.net>
Message-ID: <20080630142158.40470@gmx.net>
Hi Martin,
Martin schrieb:
> oder direkt:
>
> http://pear.php.net/package/PHP_Compat
Auch ein guter Hinweis, aber den Umgang mit PEAR - insbesondere auf Shared Hosts - finde ich immer ein bißchen kniffelig, der Einstieg ist da gewöhnungsbedürftig und ohne die richtigen Rechte auf dem Webserver wirds echt kompliziert, erst recht wenn keine Konsole zur Hand ist. Ich benutze zwar schon lange kein PHP4 mehr, aber das PHP_Compat-Package ist echt interessant (wird aber scheibar nicht mehr aktiv weiterentwickelt, letztes Update von 2007) und wäre mal hilfreich gewesen...
Gruß, Sascha
--
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
From yannik at cipher-code.de Mon Jun 30 21:46:58 2008
From: yannik at cipher-code.de (Yannik Hampe)
Date: Mon, 30 Jun 2008 21:46:58 +0200
Subject: [php] Regex Problem
In-Reply-To:
References:
Message-ID: <48693832.2020706@cipher-code.de>
Marcel Kurz wrote:
> Hallo Sebastian,
>
>> du musst \ doppelt escapen also, \\\\
>>
>> $pattern = '/\[KNR\](.*?)\[\\\\KNR\]/is';
> kannst du mir das noch mal genauer erklären ?
Damit sowas:
echo 'wie geht's?';
möglich ist (so geht es ja nicht, php denkt dann ja, der String wäre
nach dem "geht" zu Ende) kann man
echo 'wie geht\'s?'; // Ergebnis: wie geht's?
schreiben. Und wenn du als
Ergebnis: Bla\'
haben willst, kannst du
echo 'Bla\\';
schreiben.
Wenn dein php dieses hier parst:
$regex ='/\[KNR\](.*?)\[\\\\KNR\]/is';
steht in $regex also
dies: '/\[KNR\](.*?)\[\\KNR\]/is
Dann kommt die Regexmaschine, die genau das gleiche Problem hat:
Bestimmte Zeichen haben Sonderfunktionen (zum Beispiel '['). Und wenn du
nicht willst, dass die diese besondere Bedeutung haben...
Mir ist zwar gerade nicht bewusst, dann \K eine spezielle Bedeutung hat,
aber prinzipiell tust du nicht schlecht daran alle deine escaped doppelt
durchzuführen. Es schadet nicht und dein Programm geht nicht den Bach
runter, wenn mal ein neuer Befehl hinzu kommt.
> Wenn ich \ escapen will dann hab ich gedacht ich muss nur
> ein \ davorsetzen also \\ schreiben bei dir setze ich ja
> DREI \\\ vor das eigentliche \...
> bei den [ langt ja auch nur ein \ um zu escapen
> jetzt bin ich etwas verwirrt...
> aber deine Lösung funktioniert auch danke...
>
> Beste Grüße
> Marcel
Yannik
From lists at sebastianmendel.de Tue Jul 1 07:15:11 2008
From: lists at sebastianmendel.de (Sebastian Mendel)
Date: Tue, 01 Jul 2008 07:15:11 +0200
Subject: [php] Regex Problem
In-Reply-To:
References:
Message-ID: <4869BD5F.6080509@sebastianmendel.de>
Marcel Kurz schrieb:
> Hallo Sebastian,
>
>> du musst \ doppelt escapen also, \\\\
>>
>> $pattern = '/\[KNR\](.*?)\[\\\\KNR\]/is';
> kannst du mir das noch mal genauer erklären ?
> Wenn ich \ escapen will dann hab ich gedacht ich muss nur
> ein \ davorsetzen also \\ schreiben bei dir setze ich ja
> DREI \\\ vor das eigentliche \...
"DREI \\\ vor ..."
ist nicht ganz richtig, denn es sind nicht drei davor sondern eins
\ -> \\ - aber diese zwei sind jeweils nochmal escaped also \\ plus \\
das ergibt dann vier \\ -> \\\\
wie Yannik schon richtig bemerkt, das erste escapen ist für PHP:
macht also aus \\\\ -> \\ und das zweite ist den REGEX-Parser \\ -> \
> bei den [ langt ja auch nur ein \ um zu escapen
> jetzt bin ich etwas verwirrt...
weil [ auch keine besondere Bedeutung in PHP Strings hat, deshalb muss auch
nur für den REGEX-Parser escaped werden, aber nicht für PHP - wenn es eine
Bedeutung hätte wäre der erste Backslash für den REGEX-Parser-> \[ und beide
Zeichen müssten nochmal für PHP escaped werden \\\[
sprich du musst dir immer erst überlegen was der REGEX-Parser braucht, und
wenn du das dann in einen PHP-String schreibst nochmal alle Zeichen die eine
besondere Bedeutung in PHP Strings haben escapen
SUCHE = foo\bar
REGEX = foo\\bar
PHP = 'foo\\\\bar'
wobei das davon abhängt welche quotes du nimmst
SUCHE = 'foo'\$["bar"]
REGEX = 'foo'\\$\["bar"\]
PHP = '\'foo\'\\\\$\["bar"\]'
PHP = "'foo'\\\\\$\\[\"bar\"\]"
(wenn ich mich jetzt nicht vertan habe)
--
Sebastian Mendel
From listen at kurznet.com Tue Jul 1 09:50:37 2008
From: listen at kurznet.com (Marcel Kurz)
Date: Tue, 1 Jul 2008 09:50:37 +0200
Subject: [php] Regex Problem
In-Reply-To: <4869BD5F.6080509@sebastianmendel.de>
Message-ID:
Hallo Yannik, Hallo Sebastian,
>\ -> \\ - aber diese zwei sind jeweils nochmal escaped also \\ plus \\
>
>das ergibt dann vier \\ -> \\\\
>
>wie Yannik schon richtig bemerkt, das erste escapen ist für PHP:
>macht also aus \\\\ -> \\ und das zweite ist den REGEX-Parser \\ -> \
>
>> bei den [ langt ja auch nur ein \ um zu escapen
>> jetzt bin ich etwas verwirrt...
>
>weil [ auch keine besondere Bedeutung in PHP Strings hat, deshalb muss auch
>nur für den REGEX-Parser escaped werden, aber nicht für PHP - wenn es eine
>Bedeutung hätte wäre der erste Backslash für den REGEX-Parser-> \[ und
beide
>Zeichen müssten nochmal für PHP escaped werden \\\[
>
>sprich du musst dir immer erst überlegen was der REGEX-Parser braucht, und
>wenn du das dann in einen PHP-String schreibst nochmal alle Zeichen die
eine
>besondere Bedeutung in PHP Strings haben escapen
>
>SUCHE = foo\bar
>REGEX = foo\\bar
>PHP = 'foo\\\\bar'
>
danke für die Erklärung... so ist es einleuchtend
Beste Grüße
Marcel
From harlequin2 at gmx.de Tue Jul 1 11:19:18 2008
From: harlequin2 at gmx.de (Sascha Meyer)
Date: Tue, 01 Jul 2008 11:19:18 +0200
Subject: [php] Download von Daten
In-Reply-To: <4869E7A4.6010602@bfs.de>
References: <48689B8B.30002@bfs.de> <4868A26C.3010401@sebastianmendel.de>
<20080630094036.197230@gmx.net> <4868CCC6.7010606@bfs.de>
<20080630134528.247970@gmx.net> <4868E665.6050503@spuetz.net>
<20080630142158.40470@gmx.net> <4869E7A4.6010602@bfs.de>
Message-ID: <20080701091918.300350@gmx.net>
Morgen David,
David schrieb
> Okay an dem Beispiel, mit dem fopen, fwrite und fclose muss ich noch
> etwas werkeln da es nicht geht, aber ich habe gerade meine version
> überprüft und ich hab auf dem Rechner das:
>
> PHP 5.0.4 (cgi) (built: Sep 13 2005 02:24:00)
>
> mal schauen vielleicht bekomme ich das noch zum laufen, erst einmal
> bekomme ich wenigstens kein fehler, nur legt er mir die Datei noch nicht
> an, hab auch bei dem Order die rechte angegebene. Ich werde einfach mal
> etwas dran rum spielen !
Schau mal nach, wie Deine Fehlerausgabe eingestellt ist oder änder sie einfach in Deinem Skriptaufruf durch
[CODE]
error_reporting(E_ALL);
ini_set("display_errors", 1);
[/CODE]
am Anfang deines Skripts. Da Du bereits PHP5 verwendest, kannst Du auch mit try-catch prima Fehler (aber nur Fehler, keine Warnings!) abfangen.
Die Funktion, die ich gepostet hatte, gibt Dir nur ein true (erfolgreich gespeichert) oder false zurück, da es unter PHP4 - wie anfangs angenommen auf Deinem Server installiert - noch kein vernünftiges Fehlerhandling gab, bekommst Du also ein true oder false zurück? Du kannst auch einfach mal das "@"-Zeichen im Code (AT) entfernen, dann gibts einen Fehler, wenn fopen() fehlschlägt.
Gruß, Sascha
--
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger
From thowinter at googlemail.com Tue Jul 1 18:16:52 2008
From: thowinter at googlemail.com (Thomas Winter)
Date: Tue, 1 Jul 2008 18:16:52 +0200
Subject: [php] preg_replace und Fatal error: Cannot use string offset as an
array
Message-ID: <200807011816.53455.thowinter@googlemail.com>
Hallo Liste,
Ich bekomme immer einen Fehler bei einem einfachen preg_replace
Fatal error: Cannot use string offset as an array
$filter = "/[^0-9a-zA-Z\.\_-]/";
$bla = preg_replace($filter, '', $this->finalfilename);
$this->finalfilename ist aber vom Typ string und lässt sich mit print auch
probemlos ausgeben.
Das hingegen funktioniert:
$filter = "/[^0-9a-zA-Z\.\_-]/";
$bla = preg_replace($filter, '', 'blblabla);
Was kann die Ursache sein?
Gruß
Thomas
From yannik at cipher-code.de Tue Jul 1 18:54:01 2008
From: yannik at cipher-code.de (Yannik Hampe)
Date: Tue, 01 Jul 2008 18:54:01 +0200
Subject: [php] preg_replace und Fatal error: Cannot use string offset as
an array
In-Reply-To: <200807011816.53455.thowinter@googlemail.com>
References: <200807011816.53455.thowinter@googlemail.com>
Message-ID: <486A6129.2090406@cipher-code.de>
Thomas Winter wrote:
> Hallo Liste,
>
> Ich bekomme immer einen Fehler bei einem einfachen preg_replace
> Fatal error: Cannot use string offset as an array
>
> $filter = "/[^0-9a-zA-Z\.\_-]/";
> $bla = preg_replace($filter, '', $this->finalfilename);
>
> $this->finalfilename ist aber vom Typ string und lässt sich mit print auch
> probemlos ausgeben.
Genau, wie du es sagst. Les die Fehlermeldung bitte nochmal ganz in Ruhe
und genau:
Cannot use string offset as an array
Oder auf deutsch:
Kann keinen "string offset" als "array" verwenden.
Das ist eine Fehlermeldung, die nochmalerweise kommt, wenn du sowas machst:
$bla ='blubb';
$bla[0] ='foobar';
>
> Das hingegen funktioniert:
> $filter = "/[^0-9a-zA-Z\.\_-]/";
> $bla = preg_replace($filter, '', 'blblabla);
>
> Was kann die Ursache sein?
Tja... Die direkte Ursache kann ich auch nicht sehen. Aber poste doch
bitte mal
var_dump($this->finalfilename);
>
> Gruß
> Thomas
Yannik
From thowinter at googlemail.com Tue Jul 1 19:58:48 2008
From: thowinter at googlemail.com (Thomas Winter)
Date: Tue, 1 Jul 2008 19:58:48 +0200
Subject: [php]
=?iso-8859-1?q?preg=5Freplace_und_Fatal_error=3A_Cannot_use?=
=?iso-8859-1?q?_string_offset_as_an=09array?=
In-Reply-To: <486A6129.2090406@cipher-code.de>
References: <200807011816.53455.thowinter@googlemail.com>
<486A6129.2090406@cipher-code.de>
Message-ID: <200807011958.49494.thowinter@googlemail.com>
On Tuesday 01 July 2008 18:54, Yannik Hampe wrote:
> Thomas Winter wrote:
>
> Das ist eine Fehlermeldung, die nochmalerweise kommt, wenn du sowas machst:
> $bla ='blubb';
> $bla[0] ='foobar';
kann ich ausschließen...
> > Das hingegen funktioniert:
> > $filter = "/[^0-9a-zA-Z\.\_-]/";
> > $bla = preg_replace($filter, '', 'blblabla);
> >
> > Was kann die Ursache sein?
>
> Tja... Die direkte Ursache kann ich auch nicht sehen. Aber poste doch
> bitte mal
> var_dump($this->finalfilename);
#print " Info: " . $this->finalfilename;
#if ( is_string($this->finalfilename) ) print " String";
#print " ";
#var_dump($this->finalfilename);
#print " ";
# $filter = "/[^0-9a-zA-Z\.\_\-]/";
# $this->finalfilename = preg_replace($filter, '', $this->finalfilename);
Info: index.php
String
string(9) "index.php"
Fatal error: Cannot use string offset as an array ... on line 45 (das ist die
preg_replace zeile)
PS: in $filter = "/[^0-9a-zA-Z\.\_\-]/"; habe ich den "-" maskiert, Fehler
bleibt
Gruß
Thomas
From thowinter at googlemail.com Tue Jul 1 20:17:08 2008
From: thowinter at googlemail.com (Thomas Winter)
Date: Tue, 1 Jul 2008 20:17:08 +0200
Subject: [php]
=?iso-8859-1?q?preg=5Freplace_und_Fatal_error=3A_Cannot_use?=
=?iso-8859-1?q?_string_offset_as_an=09array?=
In-Reply-To: <486A6129.2090406@cipher-code.de>
References: <200807011816.53455.thowinter@googlemail.com>
<486A6129.2090406@cipher-code.de>
Message-ID: <200807012017.08850.thowinter@googlemail.com>
On Tuesday 01 July 2008 18:54, Yannik Hampe wrote:
> Thomas Winter wrote:
> > Hallo Liste,
> >
> > Ich bekomme immer einen Fehler bei einem einfachen preg_replace
> > Fatal error: Cannot use string offset as an array
> >
> > $filter = "/[^0-9a-zA-Z\.\_-]/";
> > $bla = preg_replace($filter, '', $this->finalfilename);
Ursache: unbeabsichtigte Verwendung von $this->filetype
$this->filetype = SUBSTR($this->finalfilename,-4,4);
Steht allerdings ein paar Zeilen darüber! Da muss man erst mal drauf kommen.
From info at krauss-internetservice.de Thu Jul 3 17:30:16 2008
From: info at krauss-internetservice.de (Stephan =?iso-8859-1?Q?Krau=DF?=)
Date: Thu, 3 Jul 2008 17:30:16 +0200 (CEST)
Subject: [php] Module und Serverlast
In-Reply-To: <200807012017.08850.thowinter@googlemail.com>
References: <200807011816.53455.thowinter@googlemail.com>
<486A6129.2090406@cipher-code.de>
<200807012017.08850.thowinter@googlemail.com>
Message-ID: <4081.UF1ZDV9GQgM=.1215099016.squirrel@webmailer.hosteurope.de>
Hallo !
Ich entwickle auf einem Windowsrechner. Als Umgebung verwende ich
Xammp von Apachefriends. Die Anwendungen sind als Module angelegt.
Wenn ein Modul getestet wird dann soll die Serverlast ermittelt werden.
Die serverlast soll emittelt werden wenn10, 20, ... User gleichzeitig
zugreifen. Leider haben die meisten Kunden keinen eigenen Server.
Also muss die Abschätzung der Serverlast auf der Windows /
Entwicklungsmaschine erfolgen. Welche Tools / Methoden
bieten sich dafür an ?
Mit freundlichen Grüßen
Stephan Krauß
08134 Langenweißbach
From php-de_mailingliste at sofort-start.de Thu Jul 3 18:23:11 2008
From: php-de_mailingliste at sofort-start.de (Christian Knorr)
Date: Thu, 3 Jul 2008 18:23:11 +0200
Subject: [php] Button in
");
?>
}
Wenn ich nun einmal auf den Button klicke sollte das Ergebnis
{
POST[submit] = 2
}
sein, oder? Tuts aber nicht.
Ich habe zwischenzeitlich damit gearbeitet:
{
}
Das funktioniert zwar prächtig, aber nur bei EINEM Button. Bei den späteren
Schritten kommt allerdings der Zurück-Button hinzu.
Wer kann helfen, sieht jemand Fehler?
Oder wie bekomme ich "hidden" bei 2 Buttons ans Laufen?
Danke schonmal, Chris.....
From php-de_mailingliste at sofort-start.de Thu Jul 3 18:54:24 2008
From: php-de_mailingliste at sofort-start.de (Christian Knorr)
Date: Thu, 3 Jul 2008 18:54:24 +0200
Subject: [php] =?iso-8859-1?q?=5BGEL=D6ST=5D_Button_in_=3Cform=3E_hat_kein?=
=?iso-8859-1?q?e_Funktion?=
In-Reply-To: <200807031823.11394.php-de_mailingliste@sofort-start.de>
References: <200807031823.11394.php-de_mailingliste@sofort-start.de>
Message-ID: <200807031854.24273.php-de_mailingliste@sofort-start.de>
Am Donnerstag 03 Juli 2008 18:23:11 schrieb Christian Knorr:
> echo ("POST[submit] = $_POST['submit']"); // TEST
> echo ("
>
> ");
> ?>
Klar, es muss ja auch lauten:
{
");
?>
}
(bzw. mit sinnvollerem name=\"\")
Dann ist das Ergebnis:
{
POST[submit] = Weiter zu Schritt 2
}
Damit komm ich dann weiter im Script.
Warum ich das erst jetzt merke ...
MfG, Chris.......
From php-de_mailingliste at sofort-start.de Thu Jul 3 20:17:53 2008
From: php-de_mailingliste at sofort-start.de (Christian Knorr)
Date: Thu, 3 Jul 2008 20:17:53 +0200
Subject: [php] Wie