PHP Error in DOMElement::setAttribute()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

The Hosh

The Hosh

25/03/2011 07:17:46
Quote Anchor link
Allereerst wil ik zeggen, sorry als mijn Nederlands slecht is, maar ik heb zo een 5/6 jaar niet in NLs gepraat.
Ok, dus ik heb rond gevraagt op paar engels sites (stackoverflow, phpfreaks.com), en volgens mij weet niemand het antwoord zover. Ik heb een P3T (PS3 theme) extractor, gebasseerd op een python versie (port), maar ik krijg dus een fout PHP fout. Je kan de script vinden hiero: http://pastebin.com/bRGL9KFh .

De fout die ik krijg is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Warning: DOMElement::setAttribute() [domelement.setattribute]: Couldn't fetch P3TElement in D:\www\p3textract\extract.php on line 115


Kan iemand alstublieft mij helpen, want ik kan er niks over vinden.

Alvast bedankt.

Hosh

PS: deze classen lezen een .p3t bestand (playstation 3 themes) en pakken de images en de XML ervan uit. Hij is nog niet af, maar zo ver hoort het op zn minst alle images ervanuit te halen (de XML extracter is er nog niet).

PPS: de python versie kan je hier vinden: http://p3textractor.googlecode.com/svn/trunk/p3textractor.py

EDIT: ik had per ongeluk een oude versie hier gelinkt. link geupdate met nieuwe versie
Gewijzigd op 25/03/2011 15:56:37 door The Hosh
 
PHP hulp

PHP hulp

28/03/2024 20:44:09
 
Jordi Kroon

Jordi Kroon

25/03/2011 07:31:25
Quote Anchor link
Je schrijft prima nl. :)
 
Joris van Rijn

Joris van Rijn

25/03/2011 07:41:50
Quote Anchor link
Jordi kroon op 25/03/2011 07:31:25:
Je schrijft prima nl. :)


Wat een toegevoegde waarde.

Ontopic:
Waar staat de setAttribute function eigenlijk?
 
Pim -

Pim -

25/03/2011 07:55:14
Quote Anchor link
Kan je je fout reduceren tot de meest eenvoudige code? Dan kunnen we er iets zinnigs over zeggen. Nu is het een speld in een hooiberg...
 
The Hosh

The Hosh

25/03/2011 11:51:56
Quote Anchor link
@jordi, Dank je :)

@Joris, setAttribute() is interitted van de class DOMElement, dit is een PHP class, meer kan je vinden hier: http://uk2.php.net/manual/en/class.domelement.php


@Pim, sorry, het meest zinnig code is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

class P3TElement extends DOMElement {
    public $attribs = array();
    public function add_attribute($attr) {
        if ($attr->type == 6) {
            $this->has_file = 1;
        }

        $this->attribs[$attr->name] = $attr;
        if ($attr->name == "size") {
            return;
        }

        if ($attr->name && $attr->value) {
            // de volgende lijn is 115
            $this->setAttribute((string)$attr->name, (string)$attr->value);
        }
    }
}


class P3TAttribute{
    public $type = 0;
    public $name = "";
    public $value = 0;
}



$ele = new P3TElement($h);
$attr = new P3TAttribute();
$attr->parse($attr_bin, $h, $f);
$ele->add_attribute($attr);
?>



$attr->parse() probeert PHP's unpack() te gebruiken om de .p3t bestand te lezen en stukjes op te slaan
$h bevat random data
$f is een fopen('file.p3t', 'rb') handle.
$attr_bin returnt deze array wanneer ik unpack('N3int/x4fill', $attr_bin); gebruik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
array
  'int1' => int 21
  'int2' => int 3
  'int3' => int 29
Gewijzigd op 25/03/2011 11:54:05 door The Hosh
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.