php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.12.2006, 18:01  
Gast
 
Beiträge: n/a
Standard PHP-Code bricht Verbindung ab.

Tag auch,

folgendes Problem.
Dieser Code:

PHP-Code:
   //Prüfen ob erlaubtes Format
   
$count_submit_formate=count($remote_files_formate);
   
$count=0;
   while(
$count <> $count_submit_formate)
     {
      if(
in_array("$remote_files_formate[$count]"$rue_config_submit_picture_formate))
        {
         
$submit_check_format="TRUE";
         echo 
"Datei $count: OK ";
         echo 
$remote_files_formate[$count];
         echo 
"
"
;
        } else
          {
           
$submit_check_format="FALSE";
           
$count=$count_submit_formate;
           echo 
"Unerlaubtes Format bei Datei $count ";
           echo 
$remote_files_formate[$count];
           echo 
"
"
;
          }
      
$count++;
     } 
unterbricht bei der Ausführung die Verbindung zweischen Browser und Server. Wie kann das sein ?
Habe das getestet....wenn ich den Codeabschnitt auskommentiere läuft's wunderbar.

Woran liegt das ?

Viele Grüsse,
Mabo
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.12.2006, 18:21  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von mabo
unterbricht bei der Ausführung die Verbindung zweischen Browser und Server. Wie kann das sein ?
Garnicht, PHP kann keine Verbindung unterbrechen, die er nicht selbst hergestellt hat ^^

Zitat:
Zitat von mabo
Habe das getestet....wenn ich den Codeabschnitt auskommentiere läuft's wunderbar.

Woran liegt das ?
Keine Ahnung, dafür ergibt der Codeschnipsel für sich genommen zu wenig Sinn. Aber eine Vermutung, die -- wie ich finde -- sehr nahe liegt:
PHP-Code:
while($count <> $count_submit_formate
Ich tippe darauf, dass $count und $count_submit_formate niemals gleich werden und du deshalb eine wunderbare Endlosschleife hast, wie sie im Buche steht Jetzt sehe ich nämlich auch..
PHP-Code:
$count=$count_submit_formate
PHP-Code:
$count++; 
Ersteres steht in einem else-Zweig, ok, aber wenn dieser Else-Zweig auch nur ein einziges mal bearbeitet wird, dann hast du (am Ende der Schleife)
PHP-Code:
$count_submit_formate == ($count +1); 
Bei jedem Schleifendurchlauf passiert nun einer der zwei Aktionen
1. Möglichkeit: Else-Zweig
Steht oben schon. $count ist genau um 1 größer als $count_submit_formate.
2. Möglichkeit: If-zweig
$count wird um 1 erhöht, also wird der Abstand zwischen den beiden Variablen noch größer.

Wenn auch nur einmal der Else-Zweig bearbeitet wird, bevor $count und $count_submit_formate identisch sind, können sie nicht mehr identisch werden.


Ich habe keine Ahnung, was du vorhast, aber so gehts nicht ^^

hmm ... Glaub, ich habe ne grobe Ahnung, was du vorhast, aber du machst dir das Leben ganz schön schwer ...

PHP-Code:
// Erstmal davon ausgehen, dass alles korrekt ist
$submit_check_formate TRUE;

// übermittelte Formate durchgehen
foreach ($remote_files_formate as $key => $format) {

  
// Ist das format legitim?
  
if (in_array($format$rue_config_submit_picture_formate) {
    echo 
"$key OK";
  } else { 
// isses nich?! O_o
    
echo "$key invalid";
    
$submit_check_formate FALSE;
    break; 
// Falls man nicht mehr weiter prüfen will, foreach abbrechen ^^
  
}

__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 26.12.2006, 18:40  
Gast
 
Beiträge: n/a
Standard

Oh...man ja... der ELSE-Zweig...da hab ich garnich mehr dran gedacht
Mich hats halt gewundert, dass keine Fehlermeldung kommt und der Browser mir
Verbindungsprobleme nach nicht mal ner Sekunde anzeigt.
Wobei ich php_admin_value max_input_time auf 600 habe.

Dann hat PHP wahrscheinlich erkannt, dass dies nie aufgeht "$count <> $count_submit_formate" und hat den Ablauf unterbrochen.
Richtig ?

Mabo
 
Alt 27.12.2006, 20:18  
Neuer Benutzer
 
Registriert seit: 27.12.2006
Beiträge: 9
Pencil
Standard

Zitat:
Zitat von mabo
Dann hat PHP wahrscheinlich erkannt, dass dies nie aufgeht "$count <> $count_submit_formate" und hat den Ablauf unterbrochen.
Richtig ?
Ganz so schlau ist PHP leider nicht
Irgendwann ist halt einfach die Lauzeit überschritten, zu viel RAM verbraucht [...] What ever
Pencil ist offline  
Alt 27.12.2006, 20:51  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
foreach ($remote_files_formate as $key => $format) {
Hmmm, naja ....
Warum ein zusätzliche Kopie vom Array erstellen, wenn es mit for() einfacher gehen würde ?
 
Alt 27.12.2006, 21:13  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Naja

1. Erstellst du keine Kopie des Arrays, sondern nur des entsprechenden Eintrags. Ist insofern richtig, dass er quasi jeden Eintrag einmal kopiert, also quasi doch das gesamte Array
2. for ist ja wohl nicht einfacher, wenn man ein array durchlaufen will Zitat aus dem Manual
Zitat:
Zitat von Manual
Diese ermöglicht es, auf einfache Weise ein Array zu durchlaufen.
Effektiv bedeutet das nur, dass die for-Schleife ne andere Syntax hat (die wie ich finde etwas unübersichtlicher ist, als die von foreach, wenn man nur nen Array durchghen möchte) und pro Durchlauf bei der foreach-Schleife eine (bzw zwei bei $key => $val) Variable zugewiesen wird. Das ist denkbar vernachlässigbar
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 27.12.2006, 21:29  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
Erstellst du keine Kopie des Arrays
Klar mit foreach() ... steht wohl auch im PHP-Handbuch ... oder hab ich was falsches gelesen ?
 
Alt 27.12.2006, 23:21  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Anmerkung: Beachten Sie auch, dass foreach mit einer Kopie des angegebenen Arrays arbeitet
Der relevante Unterschied zwischen for und foreach ist ganz einfach der, dass for für numerische Arrays bestens geeignet ist, foreach für assoziative. Zusätzlich noch für numerische, wenn deren Index nicht interessant ist (foreach ($array as $value) ist einfach einfach )
Zergling-new ist offline  
Alt 28.12.2006, 10:01  
Neuer Benutzer
 
Registriert seit: 27.12.2006
Beiträge: 9
Pencil
Standard

Jau... Und for ist bei sehr grossen Arrays schneller. Bei kleinen Arrays spielt das aber keine Rolle
__________________
Grüsse an das Zend Framework Forum
Pencil ist offline  
Alt 28.12.2006, 12:00  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von Pencil
Jau... Und for ist bei sehr grossen Arrays schneller. Bei kleinen Arrays spielt das aber keine Rolle
Gibs da irgendwelche Zahlen? Hab glaub ich ma gehört, dass foreach eben nur ne vereinfachte Schreibweise der for-Schleife ist, also das sie intern eh wieder umgeschrieben wird. Da wäre der Gewinn ja eher marginal (gerade für große Arrays) ^^
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit PHP Code HappyDieMuschel PHP Tipps 2008 7 28.05.2008 06:34
[Erledigt] PHP Code aus Datenbank ayti PHP Tipps 2008 8 26.05.2008 19:40
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
einfacher Code zum Einbinden von "Inhaltsbereichen" MaxDittmann PHP-Fortgeschrittene 6 01.10.2007 15:54
PHP: Wie parst der Server den Code am schnellsten? SvenLittkowski PHP Tipps 2007 4 17.12.2005 10:58
bb code in htm code wandeln janni PHP Tipps 2007 2 04.11.2005 22:36
Skript bricht ab - ohne Fehlermeldung PHP-Fortgeschrittene 10 11.10.2005 22:19
[Erledigt] JS Code in PHP Code?? HTML, Usability und Barrierefreiheit 12 08.08.2005 15:45
Seite 1/2/3..Code was haltet ihr davon? Matthiasnet PHP Tipps 2005-2 4 29.07.2005 20:29
[Erledigt] Lesbarkeit von Code Off-Topic Diskussionen 6 14.07.2005 14:48
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
fehlermeldung bei mysql_connect code PHP Tipps 2005 5 25.05.2005 22:13
[Erledigt] bb code innerhalb von bb code geht nicht PHP Tipps 2007 2 12.01.2005 17:29
code bricht einfach ab.... 18inch PHP Tipps 2007 2 04.01.2005 15:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
foreach php wird unterbrochen, apache eval

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.