Function aanroepen van server

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter de Beer

Peter de Beer

25/03/2014 10:15:56
Quote Anchor link
Ik heb een vraag of iets mogelijk is.

Ik heb de volgde opstelling:

Een server met daar op een php server met eeen file waar php functions op staan. Nu wil ik dit betand inladen op mijn localwebserver en dan de functies aanroepen om te gebruiken.

SERVER:
API.php

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
<?php

function random_password() {

    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";

    $pass = array(); //remember to declare $pass as an array

    $alpha_length = strlen($alphabet) - 1; //put the length -1 in cache

    for ($i = 0; $i < 8; $i++) {

        $n = rand(0, $alpha_length);

        $pass[] = $alphabet[$n];

    }


    return implode($pass); //turn the array into a string

}

?>


locaal:

test_locaal.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

include "http://***api.new*******.nl/API.php";

print_r(random_password());
?>


Ik krijg de volgde foutmelding

Fatal error: Call to undefined function random_password() in E:\Webserver\root\API\test_online.php on line 5
 
PHP hulp

PHP hulp

24/11/2024 19:47:40
 
Ivo P

Ivo P

25/03/2014 10:31:45
Quote Anchor link
nee, zo werkt dat niet.
Als je op die manier een script aanroept dan krijg je gewoon de output van dat script. (waarschijnlijk gewoon een lege string.

Het zou wel kunnen als je het bestand hernoemd naar API.txt

Maar dat is niet hoe een API werkt (of zou moeten werken).

Wat je beter doet:

noem dat bestand gewoon "functions.php".

Maak een bestand api.php aan

roep het aan met http://jouwapiurl.nl/api.php?do=get_random_password


api.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

include 'functions.php';

switch(filter_input(INPUT_GET, 'do')) {

  case
'get_random_password':
    echo random_password();
    break;

}

?>


Maar het liefst dan uitbreiden met opties als "verstuur het antwoord als json", "beveilig het gebruik met een password" etc.
 
Peter de Beer

Peter de Beer

25/03/2014 10:53:28
Quote Anchor link
Klinkt als een goed oplossing nu zit ik allen nog met het volgde probleem:


Er zijn ook functions met parameters Hoe kan ik die mee geven ?


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
<?php
function get_date($plus_days = 0) {



    date_default_timezone_set('CET');

    $date = date("Y-m-d H:i:s", strtotime("+$plus_days day"));



    if(!empty($date)){

        return $date;

    }
else{

        return false;

    }

}


?>
 
Ivo P

Ivo P

25/03/2014 10:56:27
Quote Anchor link
jouwapi.nl/api.php?do=get_a_date&p=5

(de naam van de functie hoeft niet gelijk te zijn aan de inhoud van $_GET['do'])

Maar kijk eens naar "webservice"
Dat is wat je in feite bouwt
 



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.