[cgi] Kan ik een cgi integreren in een php ?

Pagina: 1
Acties:
  • 80 views sinds 30-01-2008

  • tutterke
  • Registratie: April 2001
  • Laatst online: 27-04 09:51

tutterke

Klein maar tapper!

Topicstarter
Het probleem: heel m'n site is in php gemaakt; nu heb ik er een zoekbot aan toegevoegd (cgi) en die kan ik wel integreren in de site, maar als hij zoekresultaten gaat displayen, dan trekt hij zich van de php niets meer aan.

Hoe kan ik er nu voor zorgen dat ik ook de zoekresultaten in php kan integreren ?

Bedankt !

And I find it kind of funny
I find it kind of sad
The dreams in which I'm dying
are the best I've ever had.


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 07-05 12:23

chem

Reist de wereld rond

wat je *zou* kunnen doen, is een fopen() doen in PHP naar die searchengine toe, en de output doorgeven naar de user.

Mooi is het niet... maar een andere oplossing kan ik me niet bedenken.

Klaar voor een nieuwe uitdaging.


Verwijderd

Via SSI (server site includes), dus iets als <!--#exec /cgi-bin/bla.cgi --> (De exacte synaxis ben ik vergeten. Voorwaarde is wel dat je webserver het ondersteunt; Apache doet dit in ieder geval. En je moet SSI aanzetten voor .php bestanden...

De precieze syntax kun je vast vinden in de manual van je webserver :7

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 07-05 12:23

chem

Reist de wereld rond

SSI en PHP zijn totaal verschillende zaken.

Klaar voor een nieuwe uitdaging.


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Misschien dat je een php versie van je zoekbot moet zoeken? Ik weet niet wat die bot doet, maar er zal vast wel iets vergelijkends in php zijn dat hetzelfde kan doen. Waar is je cgi-script in geschreven? Perl? Dan zou je de code naar php kunnen porten.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

met de include functie?
met include integreer ik html, maar of het ook met cgi kan? ik denk het wel!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
nee, include opent gewoon de file (voor lezen) op het file system. Het execute die file niet.

Tenzij je de file via http include, maar dat is dan in weze het zelfde als fopen, behalve dan dat als het cgi-script geen php code output, deze dan niet uitgevoert wordt.

include('http://mydomain/cgi-script.cgi?params'); ?

Maar omdat je cgi-script vast geen php output, kan je beter zoiets als:

fopen('http://mydomain/cgi-script.cgi?params');
doen en dan lezen en printen...

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 25-04 02:41
Op zaterdag 10 november 2001 22:28 schreef Infinitive het volgende:
fopen('http://mydomain/cgi-script.cgi?params');
't Is wel erg omslachtig. Kan je het document niet gewoon onder php uitvoeren, met exec() o.i.d.? Vervolgens die output opvangen...

Bijv. je maakt een Perl script met als code:
code:
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl
$string = "blaat";
if($string eq "foo")
{
print "Er stond foo";
}
else
{
print "Er stond geen foo, maar $string";
}
# Hier kan natuurlijk ook andere code staan

Vervolgens vang je het op in php:
PHP:
1
2
3
4
<?
$output = system("./cgi-bin/blaat.pl");
echo $output;
?>

Nadeel is dat je geen gebruik kunt maken van de ENV-variabelen... Maar ik vind dit toch iets netter dan fopen("http://www.mydomain.com/cgi-bin/blaat.pl?string=bar");

  • TheMrH
  • Registratie: April 2000
  • Laatst online: 02-05 16:24
Als je Apache gebruikt moet je hier naar kijken:
int virtual (string filename)


virtual() is an Apache-specific function which is equivalent to <!--#include virtual...--> in mod_include. It performs an Apache sub-request. It is useful for including CGI scripts or .shtml files, or anything else that you would parse through Apache. Note that for a CGI script, the script must generate valid CGI headers. At the minimum that means it must generate a Content-type header. For PHP files, you need to use include() or require(); virtual() cannot be used to include a document which is itself a PHP file.

The box said 'requires Windows 95 or better', so I installed Linux...


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 25-04 02:41
Op zondag 11 november 2001 01:10 schreef TheMrH het volgende:
Als je Apache gebruikt moet je hier naar kijken:
Je kan echter de output niet bewerken. Om dat te kunnen doen moet je gebruik maken van de Output control functies:
PHP:
1
2
3
4
5
6
<?
ob_start;
virtual("file");
$output = ob_get_contents;
ob_end_flush;
?>

Het kan zijn dat ob_get_contents en ob_end_flush omgedraaid moeten worden...

Verwijderd

hoihoi,

stel: je hebt een formulier, waarvan je de velden post naar het onderstaand php-script:

<?
exec ("./scan.cgi", $output, $returnstatus);
?>

het bestand scan.cgi is een bash-script. heeft iemand een idee hoe ik de geposte variabelen kan meenemen in het bash-script? met andere woorden: kan ik in een parameter de geposte variabelen doorsturen? of op 1 of andere manier toegang krijgen tot die variabelen?

het idee hiervan is als volgt: ik wil graag php gebruiken om een aantal handigheden te doen, maar pas nadat het bash-script scan.cgi het 1 en ander heeft gedaan met de geposte data (en een positieve status terugstuurt naar $returnstatus). vandaar dat ik deze koppeling van php naar bash wil doen.

Bedankt!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10-05 12:29

Creepy

Tactical Espionage Splatterer

Over CGI scripting in bash, perl e.d. is een hoop info te vinden. Hoe CGI werkt en waar de variabelen komen te staan en hoe deze op te halen of door te geven is wat betreft CGI een redelijke basiskennis. Als je hier niet uitkomt geef dan aub precies aan wat je nu al hebt geprobreerd en wat daar niet mee lukte.

Je kickt nu een topic van meer dan 4 jaar oud. Dit is echt niet nodig en zien we liever ook niet dus open voor dit soort vragen gewoon een nieuw topic. Let hierbij wel op P&W FAQ - De "quickstart"

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.