Executando php

6 respostas
androidelp

Boa Noite,

Pesquisei na web e no forum porém não achei uma resposta satisfatória.

Eu preciso desenvolver um programa em java para executar no windows e mostrar avisos diário do que acontece no gerenciador de projetos online.

Este gerenciado foi desenvolvido em php e possui um api, onde é mais seguro do que acessar diretamente um banco mysql.

Eu sei e já possuo um código de conexão mysql, porém preciso saber se é possível dar comandos php via java (echo, print, foreach, ler include…)

isso é possível?
Se sim é mais complexo que comando mysql?
terei de instalar algum plugin para tal fim?

Desde já agradeço a ajuda.

6 Respostas

drsmachado

PHP é uma linguagem que precisa de um interpretador para funcionar.
Até onde eu sei, não é possível executar tais comandos, no modo que você deseja.
O mais comum é realizar requisições à determinada página e, esta, ao ser interpretada, irá executar o script linha a linha.

androidelp

Existe um tutorial ou página mostrando como fazer estas requisições?

Em outra situação terei de fazer um código php para gerar um xml e fazer com que o java leia este xml…

Teria uma solução mais prática?

o api do site que possuo pode gerar um xml ou JSON.

drsmachado

Alguns pontos que eu consideraria.
1 - Em que e como o acesso a um banco de dados, feito por php, é tão ou mais seguro que um acesso direto, feito via java?
2 - Vai acessar o php através de um aplicativo desktop ou web?
3 - PHP é uma linguagem web, logo, as requisições padrão são POST (utilizadas quando se submete um formulário) e GET (acesso direto a uma página, por meio de sua URL, passando ou não parâmetros).

androidelp

Acredito que pela api é mais seguro, o aplicativo que fiz foi feito para Desktop windows, ele habilita um trayicon que manda respostas de alerta para o utilizador.

O api aceita dados via post, acredito que deveria localizar o arquivo include via java, e passar os paramentros via uma classe e recebelos por outra, depois iria tratando unicamente a classe pelo meu programa java, fazendo requisições por ela.

pesquisei bastante ontem e hoje e achei o seguinte código, porém não compreendi como passar valores por ele… segue:

package teste.comunication;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
 
public class TesteComunicacao {
 
	public static void main(String[] args) 
			throws MalformedURLException, IOException {
 
		try{
			// monta estrutura de parametros a serem eviados
			String data = URLEncoder.encode( "nome", "UTF-8" ) + "=" + URLEncoder.encode( "Fernando", "UTF-8" );
 
		         URL url = new URL( "http://localhost/get_name.php" );
	                 URLConnection urlConnection = url.openConnection();
 
	                 // envia dados
	                 urlConnection.setDoOutput(true);
	                 OutputStreamWriter outputWriter = new OutputStreamWriter(urlConnection.getOutputStream());
	                 outputWriter.write(data);
	                 outputWriter.flush();
 
	                 // Obtem as respostas
	                 InputStreamReader inputReader = new InputStreamReader(urlConnection.getInputStream());
	                 BufferedReader bufferedReader = new BufferedReader( inputReader );
 
			System.out.println( "\n** retorno da página web **" );
			String linha = "";
			while ( (linha = bufferedReader.readLine()) != null){
				System.out.println(linha);
			}
 
		} catch (Exception e) {
			System.out.println( e.getMessage() );
		}
	}
}
androidelp

aparentemente meu post saiu do forum???

androidelp

Descobri desculpe a ignorância, a variavel data recebe os dados que serão enviados para o php.

Valeu pela ajuda

Criado 6 de maio de 2012
Ultima resposta 8 de mai. de 2012
Respostas 6
Participantes 2