poupouille55
Messages postés35Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention23 avril 2008
-
18 juil. 2007 à 20:45
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010
-
19 juil. 2007 à 11:14
Bonjour
On m'a demandé de lier deux parties d'un projet.
j'ai fait une application JAVA (1ère partie) qui permet d'écrire dans un fichier texte les nom de certains fichiers. Un fichier php déjà existant (2ème partie) permet de lire ce fichier texte et de transférer les noms de fichiers vers une base de données et un serveur.
Le problème c'est que je ne sais pas du tout comment on fait pour appeler un fichier Php avec java et je n'ai rien trouvé sur le net ....
Pourriez-vous m'aider s'il vous plaît ???
merci à tous
poupouille55
Messages postés35Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention23 avril 2008 19 juil. 2007 à 11:07
Salut merci pour ta réponse !
j'ai trouvé une autre solution:
<hr size= "2" width="100%" /> public class Exec {
publicstatic void main(String[] args) {
System.out.println(ConnexionServer("http://localhost/test/upload.php"));
}
publicString ConnexionServer(String adresse){
String toreturn = null;
try{
//creation d'un objet URL
URL url = new URL(adresse);
//on etablie une connection a cette url
try {
URLConnection uc = url.openConnection();
//on y cree un flux de lecture
InputStream in = uc.getInputStream();
// on lit le premier bit
int c = in.read();
//on cree un StringBuilder pour par la suite y ajouter tout les bit lus
StringBuilder build = new StringBuilder();
//tant que c n'est pas egale au bit indiquant la fin d'un flux...
while (c ! = -1) {
build.append((char) c);
//...on l'ajoute dasn le StringBuilder...
c = in.read();
//...on lit le suivant
}
//on retourne le code de la page
toreturn = build.toString();
}
catch (MalformedURLException e) {e.printStackTrace();}
}
catch(IOException e) {e.printStackTrace();}
return toreturn;
}
<hr size ="2" width="100%" />mon fichier php contient seulement <? echo "bonjour"; ?>. Il ne reste plus qu'à appeler le bon php !
merci à toi et à [auteurdetail.aspx?ID =234347 sheorogath (son code : http://www.javafr.com/infomsg_HTTPURLCONNECTION_746900.aspx#4) ]
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010 19 juil. 2007 à 10:40
Bonjour,
normalement il y a deux solution, soit vous appellez directement php,
c'est à dire tu execute un truc genre ./REP_INSTAL_PHP/php -q REP_SCRIPT/ton_script.php sous linux
ou du genre C:\REP_INSTAL_PHP\php -q c:\REP_SCRIPT\ton_script.php sous windows, et le resulat devrait sortir sur la sortie standart (à récupérer avec un truc genre:
BufferedReader fluxResultat;
Runtime r = Runtime.getRuntime();
Process p = r.exec(cmd);
fluxResultat = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((ligne = fluxResultat.readLine()) != null) {
}
)
soit vous avez un serveur http installé genre appache, et vous pouvez vous servir des sockets pour appeller la page comme sur le web (moins propre à mon avis).
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010 19 juil. 2007 à 11:14
oui, en fait ça revient à utilisé les sockets,
vous utilisez la classe URLConnection pour interrogez le serveur HTTP présent sur la machine qui interroge php, puis vous renvoit le résultat en HTTP...
Mais l'important c'est que ça marche.
http://kysicurl.free.fr/