Aanmelden
Inloggen
Wachtwoord vergeten
Online: 5
 
     Top 5:
CriminalsForum
wmpoint
Hacktech
Omroep Voor Jou
World-war
 > Je site hier plaatsen?

Uw banner hier?
  Forum

  Alle Actieve topics
Topic open! [15:19] Je websit...
Topic open! [17:52] Klikkaa S...
Topic open! [16:26] procent b...
Topic open! [16:19] WoW Forum
Topic open! [16:18] Gezocht
Topic open! [17:38] Banner / ...
Topic open! [17:36] Advertise...
Topic open! [01:03] {Vrijwill...
Topic open! [00:58] World-War
Topic open! [14:48] Webblog s...
Meer ...

AddThis Feed Button

  Werk
Vacature Wearekillers.tk
Vacature Start from scratch!
Vacature q-star.nl
Vacature Digitaal leren
Vacature Voetbal Site

  Marktplaats
Topic open! [01:11] Advertent...
Topic open! [13:08] Cmshero -...
Topic open! [22:05] Verkoop u...
Topic open! [17:46] Maffia sc...
Topic gesloten! [22:45] Verkoop p...

  Actieve kennis topics
Topic open! [18:41] Leden tel...
Topic open! [21:43] PHP bug

AddThis Feed Button
  Extra
Reacties: 5
Aantal keer gelezen: 1842
Status: Open
Reageren
Opslaan in topictracker!

  Keywords
file_get_contents, destructor, bug

  Forum -> PHP kenners -> PHP bug
[Nieuw topic] [Bericht aangeven]
Postdatum: 2009-03-03 23:57:00 Directe link Naar boven
Killingdevil PB
Offline

Kwaliteitsscore: +3

Dit keer geen bug in mijn eigen programmatuur, maar in PHP him self. De volgende code zal namelijk een probleem opleveren:
Php code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
class phpbug {
    public $m_sFileName = "bug.txt";
 
    public function __destruct() {
        print file_put_contents($this->m_sFileName,"Hallo");
    }
}
 
$test = new phpbug;
 
?>


De destruct functie wordt nu netjes uitgevoerd. PHP zal nu ook outputten: 5. Dus file_put_contents lijkt gewoon netjes te zijn gelukt. Maar vervolgens blijkt het bestand niet aangemaakt te zijn of gewijzigd!

Nee, ik heb geen fouten gemaakt. Dit is echt een bug binnen PHP.

http://bugs.php.net/bug.php?id=30957

De bug is al sinds PHP 5.0 (2004) bekend. En nog steeds bestaat hij. Heb het niet op een unix OS geprobeerd, het zou dus kunnen dat het enkel op Windhoos computers voorkomt.

Overigens is het wel belachelijk irritant.

Reageren - Quote

 

  Reactie klasje
Postdatum: 2009-03-07 16:24:15 Directe link Naar boven
Klasje - Eigenaar PB
Offline

Kwaliteitsscore: +100
Zaakvoerder
Reageren - Quote Handig (0) / Nutteloos (0)

  Reactie Killingdevil
Postdatum: 2009-03-07 17:56:33 Directe link Naar boven
Killingdevil PB
Offline

Kwaliteitsscore: +3

Ja, inderdaad.

Maar goed, het vreemdste vind ik nog wel dat dit al sinds 2004 bekent is! Hopelijk bied PHP 5.3 of PHP 6 uitkomst...

Reageren - Quote Handig (0) / Nutteloos (0)

  Reactie klasje
Postdatum: 2009-03-08 18:06:19 Directe link Naar boven
Klasje - Eigenaar PB
Offline

Kwaliteitsscore: +100
Zaakvoerder

Vrees er een beetje voor.
Ze zullen het vast wel niet belangrijk genoeg vinden - of is zeer moeilijk te repareren.

Zaakvoerder *******
http://gamecoll.com
http://onlinegamemanager.com
http://webscripters.be
Reageren - Quote Handig (0) / Nutteloos (0)

  Reactie WorldOfGangsters
Postdatum: 2009-03-11 13:51:23 Directe link Naar boven
WorldOfGangsters PB
Offline

Kwaliteitsscore: +31
WoG aka salih__

Php code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
  class phpbug
  {
    public $m_sFileName = "bug.txt";
 
    public function __destruct() {
        return file_put_contents($this->m_sFileName,"Hallo");
    }
  }
 
  $test = new phpbug;
 
?>


Probeer het eens zo.

Wat wil je eigenlijk met deze script kunnen ?

goedkoopSMSen.net || Goedkoop smsen & ook nog eens één sms per dag gratis !!
Reageren - Quote Handig (0) / Nutteloos (0)

  Reactie Killingdevil
Postdatum: 2009-03-11 21:43:17 Directe link Naar boven
Killingdevil PB
Offline

Kwaliteitsscore: +3

@WorldofGangsters: De print opdracht is helemaal niet relevant, het gaat er alleen om dat die gewoon aangeeft dat het goed gegaan zou zijn. Daarnaast kent een destructor natuurlijk geen return waarde.

En wat ik met het script wou doen is niet heel erg relevant.. Maar feitelijk wou ik voorkomen dat ik onnodig een bestand meerdere keren moest opslaan, terwijl één keer voldoende was.

Er is simpelweg geen oplossing voor dit probleem! Er is geen enkele manier om het zelfde resultaat te behalen. Het ligt gewoon aan de PHP Parser!

Reageren - Quote Handig (0) / Nutteloos (0)


  Navigatie

  Leden Online
5 Bezoekers online, waarvan 0 leden ingelogd.
© WebScripters 2005-2009 || GameColl Project