Wat heb jij vandaag geprogrammeerd? 2.0

Gestart doorNielsba792 reacties10.961 weergaven

793 berichten · pagina 22 van 53

Berichten
16.500
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Caner schreef:
Eerdere citaten tonen
Jelle schreef:
Eerdere citaten tonen
Lennard schreef:
Jullie krijgen m zeker dit jaar nog een keer te zien hoor loveit maar voorlopig nog even niet bupatih
Inb4; wow hier, een nieuwe one2xs voor jullie
zoals ik al voorspeld had heart
Ik ook gr alleen zei jij het 10 seconden eerder sadley
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Afbeelding

is iets makkelijker dan alleen een datum invullen wink
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Sevvlor schreef:
Afbeelding

is iets makkelijker dan alleen een datum invullen wink
Ben benieuwd naar je forum als het af is. biggrinZiet er nice uit allemaal.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Jessee schreef:
Eerdere citaten tonen
Sevvlor schreef:
is iets makkelijker dan alleen een datum invullen wink
Ben benieuwd naar je forum als het af is. biggrinZiet er nice uit allemaal.
het draait al een paar maandjes in productie wink
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Lennard schreef:
Jullie krijgen m zeker dit jaar nog een keer te zien hoor loveit maar voorlopig nog even niet bupatih
Het is wel echt een heel rommelig adminpaneel hier op one2xs. Eigenlijk helemaal niet zo boeiend emo
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Eerdere citaten tonen
Lennard schreef:
Jullie krijgen m zeker dit jaar nog een keer te zien hoor loveit maar voorlopig nog even niet bupatih
Het is wel echt een heel rommelig adminpaneel hier op one2xs. Eigenlijk helemaal niet zo boeiend emo
Maakt niet uit, ik denk dat we allemaal wel rommel zijn gewend yummie.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Gaat lekker met de schoolopdrachtemo
Afbeelding
Afbeelding
Afbeelding
Afbeelding
0
Berichten
3.532
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Een vluchtnummer begint altijd met 3 letters en daarna max 4 cijfers
Bijv:
KLM1
KLM11
KLM111
KLM1111
zijn goed, wat niet goed is
LA1
LA11
LA111
LA1111

Bij LA moet nog 1 letter anders ist geen vluchtnummer
(dit is mij geleerd via een FSX tutorial)
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Jesper schreef:
Een vluchtnummer begint altijd met 3 letters en daarna max 4 cijfers
Bijv:
KLM1
KLM11
KLM111
KLM1111
zijn goed, wat niet goed is
LA1
LA11
LA111
LA1111

Bij LA moet nog 1 letter anders ist geen vluchtnummer
(dit is mij geleerd via een FSX tutorial)
MH17 dan?
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Jesper schreef:
Een vluchtnummer begint altijd met 3 letters en daarna max 4 cijfers
Bijv:
KLM1
KLM11
KLM111
KLM1111
zijn goed, wat niet goed is
LA1
LA11
LA111
LA1111

Bij LA moet nog 1 letter anders ist geen vluchtnummer
(dit is mij geleerd via een FSX tutorial)
Volgens mij maken ze gebruik van IATA codes en die bestaan altijd uit 2 tekens (dus niet alleen letters)
En KLM is dus KL, niet KLM. (volgens IATA code)
IATA is ook niet uniek, meerdere airliners kunnen eenzelfde code hebben.
0
Berichten
3.532
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jessee schreef:
Eerdere citaten tonen
Jesper schreef:
Een vluchtnummer begint altijd met 3 letters en daarna max 4 cijfers
Bijv:
KLM1
KLM11
KLM111
KLM1111
zijn goed, wat niet goed is
LA1
LA11
LA111
LA1111

Bij LA moet nog 1 letter anders ist geen vluchtnummer
(dit is mij geleerd via een FSX tutorial)

Volgens mij maken ze gebruik van IATA codes en die bestaan altijd uit 2 tekens (dus niet alleen letters)
En KLM is dus KL, niet KLM. (volgens IATA code)
IATA is ook niet uniek, meerdere airliners kunnen eenzelfde code hebben.
Je hebt gelijk bij de verkoop van tickets gebruiken ze IATA codes en in de ATC wereld gebruiken ze ICAO codes
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
PHP class voor asynchrone http requests met curl.
Dit ga ik gebruiken voor de cronjob van Relisten (momenteel is die nogal traag bloos)
(code)
Codeblok (MultiHandleCURL.php):
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209



/**
* Class Logger
*/

class Logger {
/**
* @param string $message
*/

public static function log($message) {
print [.date(Y-m-d H:i:s) . ] . $message .
. PHP_EOL;
}
}


/**
* Class MultiHandleCURL
*/

class MultiHandleCURL {

/**
* @var resource
*/

private $multi_handle;
/**
* @var array
*/

private $callables = [];
/**
* @var int|null
*/

private $active = null;

/**
* MultiHandleCURL constructor.
*/

function __construct() {
$this->multi_handle = curl_multi_init();
if ($this->multi_handle === false) {
exit(cant create multi curl handle);
}

Logger::log(started MultiHandleCURL);
}


/**
* @param resource $ch
* @param callable|null $callable
*/

function addHandle($ch, $callable = null) {
$res = curl_multi_add_handle($this->multi_handle, $ch);
if ($callable != null) {
$this->callables[(int)$ch] = $callable;
}

if ($res === 0) {
Logger::log(added handle);
var_dump($ch);
$mrc = curl_multi_exec($this->multi_handle, $this->active);
}
else {
Logger::log(Error at adding handle: . $res);
}
}


/**
* Finish performing requests
*/

function finishRequests() {
Logger::log(perform requests started!);
//execute the handles
do {
$mrc = curl_multi_exec($this->multi_handle, $this->active);
//Logger::log(curl_multi_exec returns . $mrc);
//Logger::log(curl_multi_exec sets active to . var_export($this->active, true));


$info = curl_multi_info_read($this->multi_handle);
if (false !== $info) {
Logger::log(multi info read result);
var_dump($info);

$output = curl_multi_getcontent($info[handle]);
Logger::log(output:);
var_dump($output);

if (isset($this->callables[(int)$info[handle]])) {
Logger::log(we roepen de callback functie aan!);
$callable = $this->callables[(int)$info[handle]];
var_dump($callable);
call_user_func($callable, $output);
}

curl_multi_remove_handle($this->multi_handle, $info[handle]);
curl_close($info[handle]);
}
}
while ($mrc == CURLM_CALL_MULTI_PERFORM || $this->active);
Logger::log(perform requests finished!);
}


/**
*
*/

function __destruct() {
curl_multi_close($this->multi_handle);
Logger::log(destruct MultiHandleCURL);
}
}


/**
* Class Request
*/

abstract class Request {
/**
* @var resource
*/

protected $multiHandle;
/**
* @var string
*/

protected $url;
/**
* @var int
*/

private $timeout = 5;

/**
* Request constructor.
* @param string $url
*/

public function __construct($url) {
$this->url = $url;
}


/**
* @param resource $multiHandle
*/

public function setMultiHandleCURL($multiHandle) {
$this->multiHandle = $multiHandle;
}


/**
*
*/

public function executeRequest() {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_HEADER, 1);

$this->multiHandle->addHandle($ch, array($this, handleResponse));
}


/**
* @param $output
* @return void
*/

public abstract function handleResponse($output);
}


// Test gedeelte vanaf hier. Test is geslaagd als de drie requests uitgevoerd zijn en hun output geprint etc.

/**
* Class Request1
*/

class Request1 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 10));
}
}


/**
* Class Request2
*/

class Request2 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 40));

$request = new Request3($this->url);
$request->setMultiHandleCURL($this->multiHandle);
$request->executeRequest();
}
}


/**
* Class Request3
*/

class Request3 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 15));
}
}


$multiHandle = new MultiHandleCURL();

$request1 = new Request1(http://www.example.com/);
$request1->setMultiHandleCURL($multiHandle);
$request1->executeRequest();

$request1 = new Request2(http://www.example.net/);
$request1->setMultiHandleCURL($multiHandle);
$request1->executeRequest();

$multiHandle->finishRequests();
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
@sjoerd ik neem aan dat de vraag is: "hoe maak ik hem sneller?"
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sjoerd schreef:
PHP class voor asynchrone http requests met curl.
Dit ga ik gebruiken voor de cronjob van Relisten (momenteel is die nogal traag bloos)
(code)
Codeblok (MultiHandleCURL.php):
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209



/**
* Class Logger
*/

class Logger {
/**
* @param string $message
*/

public static function log($message) {
print [.date(Y-m-d H:i:s) . ] . $message .
. PHP_EOL;
}
}


/**
* Class MultiHandleCURL
*/

class MultiHandleCURL {

/**
* @var resource
*/

private $multi_handle;
/**
* @var array
*/

private $callables = [];
/**
* @var int|null
*/

private $active = null;

/**
* MultiHandleCURL constructor.
*/

function __construct() {
$this->multi_handle = curl_multi_init();
if ($this->multi_handle === false) {
exit(cant create multi curl handle);
}

Logger::log(started MultiHandleCURL);
}


/**
* @param resource $ch
* @param callable|null $callable
*/

function addHandle($ch, $callable = null) {
$res = curl_multi_add_handle($this->multi_handle, $ch);
if ($callable != null) {
$this->callables[(int)$ch] = $callable;
}

if ($res === 0) {
Logger::log(added handle);
var_dump($ch);
$mrc = curl_multi_exec($this->multi_handle, $this->active);
}
else {
Logger::log(Error at adding handle: . $res);
}
}


/**
* Finish performing requests
*/

function finishRequests() {
Logger::log(perform requests started!);
//execute the handles
do {
$mrc = curl_multi_exec($this->multi_handle, $this->active);
//Logger::log(curl_multi_exec returns . $mrc);
//Logger::log(curl_multi_exec sets active to . var_export($this->active, true));


$info = curl_multi_info_read($this->multi_handle);
if (false !== $info) {
Logger::log(multi info read result);
var_dump($info);

$output = curl_multi_getcontent($info[handle]);
Logger::log(output:);
var_dump($output);

if (isset($this->callables[(int)$info[handle]])) {
Logger::log(we roepen de callback functie aan!);
$callable = $this->callables[(int)$info[handle]];
var_dump($callable);
call_user_func($callable, $output);
}

curl_multi_remove_handle($this->multi_handle, $info[handle]);
curl_close($info[handle]);
}
}
while ($mrc == CURLM_CALL_MULTI_PERFORM || $this->active);
Logger::log(perform requests finished!);
}


/**
*
*/

function __destruct() {
curl_multi_close($this->multi_handle);
Logger::log(destruct MultiHandleCURL);
}
}


/**
* Class Request
*/

abstract class Request {
/**
* @var resource
*/

protected $multiHandle;
/**
* @var string
*/

protected $url;
/**
* @var int
*/

private $timeout = 5;

/**
* Request constructor.
* @param string $url
*/

public function __construct($url) {
$this->url = $url;
}


/**
* @param resource $multiHandle
*/

public function setMultiHandleCURL($multiHandle) {
$this->multiHandle = $multiHandle;
}


/**
*
*/

public function executeRequest() {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_HEADER, 1);

$this->multiHandle->addHandle($ch, array($this, handleResponse));
}


/**
* @param $output
* @return void
*/

public abstract function handleResponse($output);
}


// Test gedeelte vanaf hier. Test is geslaagd als de drie requests uitgevoerd zijn en hun output geprint etc.

/**
* Class Request1
*/

class Request1 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 10));
}
}


/**
* Class Request2
*/

class Request2 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 40));

$request = new Request3($this->url);
$request->setMultiHandleCURL($this->multiHandle);
$request->executeRequest();
}
}


/**
* Class Request3
*/

class Request3 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 15));
}
}


$multiHandle = new MultiHandleCURL();

$request1 = new Request1(http://www.example.com/);
$request1->setMultiHandleCURL($multiHandle);
$request1->executeRequest();

$request1 = new Request2(http://www.example.net/);
$request1->setMultiHandleCURL($multiHandle);
$request1->executeRequest();

$multiHandle->finishRequests();

gebruik ook
curl_setopt($ch, CURLOPT_USERAGENT, Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101);
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Dylan schreef:
Eerdere citaten tonen
Sjoerd schreef:
PHP class voor asynchrone http requests met curl.
Dit ga ik gebruiken voor de cronjob van Relisten (momenteel is die nogal traag bloos)
(code)
Codeblok (MultiHandleCURL.php):
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209



/**
* Class Logger
*/

class Logger {
/**
* @param string $message
*/

public static function log($message) {
print [.date(Y-m-d H:i:s) . ] . $message .
. PHP_EOL;
}
}


/**
* Class MultiHandleCURL
*/

class MultiHandleCURL {

/**
* @var resource
*/

private $multi_handle;
/**
* @var array
*/

private $callables = [];
/**
* @var int|null
*/

private $active = null;

/**
* MultiHandleCURL constructor.
*/

function __construct() {
$this->multi_handle = curl_multi_init();
if ($this->multi_handle === false) {
exit(cant create multi curl handle);
}

Logger::log(started MultiHandleCURL);
}


/**
* @param resource $ch
* @param callable|null $callable
*/

function addHandle($ch, $callable = null) {
$res = curl_multi_add_handle($this->multi_handle, $ch);
if ($callable != null) {
$this->callables[(int)$ch] = $callable;
}

if ($res === 0) {
Logger::log(added handle);
var_dump($ch);
$mrc = curl_multi_exec($this->multi_handle, $this->active);
}
else {
Logger::log(Error at adding handle: . $res);
}
}


/**
* Finish performing requests
*/

function finishRequests() {
Logger::log(perform requests started!);
//execute the handles
do {
$mrc = curl_multi_exec($this->multi_handle, $this->active);
//Logger::log(curl_multi_exec returns . $mrc);
//Logger::log(curl_multi_exec sets active to . var_export($this->active, true));


$info = curl_multi_info_read($this->multi_handle);
if (false !== $info) {
Logger::log(multi info read result);
var_dump($info);

$output = curl_multi_getcontent($info[handle]);
Logger::log(output:);
var_dump($output);

if (isset($this->callables[(int)$info[handle]])) {
Logger::log(we roepen de callback functie aan!);
$callable = $this->callables[(int)$info[handle]];
var_dump($callable);
call_user_func($callable, $output);
}

curl_multi_remove_handle($this->multi_handle, $info[handle]);
curl_close($info[handle]);
}
}
while ($mrc == CURLM_CALL_MULTI_PERFORM || $this->active);
Logger::log(perform requests finished!);
}


/**
*
*/

function __destruct() {
curl_multi_close($this->multi_handle);
Logger::log(destruct MultiHandleCURL);
}
}


/**
* Class Request
*/

abstract class Request {
/**
* @var resource
*/

protected $multiHandle;
/**
* @var string
*/

protected $url;
/**
* @var int
*/

private $timeout = 5;

/**
* Request constructor.
* @param string $url
*/

public function __construct($url) {
$this->url = $url;
}


/**
* @param resource $multiHandle
*/

public function setMultiHandleCURL($multiHandle) {
$this->multiHandle = $multiHandle;
}


/**
*
*/

public function executeRequest() {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_HEADER, 1);

$this->multiHandle->addHandle($ch, array($this, handleResponse));
}


/**
* @param $output
* @return void
*/

public abstract function handleResponse($output);
}


// Test gedeelte vanaf hier. Test is geslaagd als de drie requests uitgevoerd zijn en hun output geprint etc.

/**
* Class Request1
*/

class Request1 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 10));
}
}


/**
* Class Request2
*/

class Request2 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 40));

$request = new Request3($this->url);
$request->setMultiHandleCURL($this->multiHandle);
$request->executeRequest();
}
}


/**
* Class Request3
*/

class Request3 extends Request {
/**
* @param string $output
*/

public function handleResponse($output) {
Logger::log(substr($output, 0, 15));
}
}


$multiHandle = new MultiHandleCURL();

$request1 = new Request1(http://www.example.com/);
$request1->setMultiHandleCURL($multiHandle);
$request1->executeRequest();

$request1 = new Request2(http://www.example.net/);
$request1->setMultiHandleCURL($multiHandle);
$request1->executeRequest();

$multiHandle->finishRequests();

gebruik ook
curl_setopt($ch, CURLOPT_USERAGENT, Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101);

Geef dan ook direct een reden.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren