Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pyro_fire

Script PHP executar outro script PHP no mesmo servidor.

Recommended Posts

Pessoal tenho um script em PHP, em determinada função dele eu preciso executar (não apenas incluir) um outro script PHP, ambos estão no mesmo servidor e pasta, tentei assim (preciso passar parâmetros nessa execução):

include('http:www.servidor.com.br/arq.php?var=2&bbb=3');
Porém não tá funcionando, alguém sabe uma forma de se fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No momento que você o inclui, automaticamente ele deveria ser executado.É retornado algum erro? Já tentou executá-lo separadamente para ver o correto funcionamento? :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha quando eu vou na barra do endereços do browser e executo de forma manual executa normalmente, sem problemas.Quando tento fazer esse esquema do include() não dá erro e não executa, bem estranho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para usar include, você não pode passar parâmetros. Oque você pode fazer talvez, seja inserir um iframe ou usar ajax.

 

Usando iframe

PHP
<iframe name="exec" id="exec" src="" style="width:0; height:0;"></iframe>

<?php

 

.

.

.

 

echo "<script>document.getElementById('exec').src = 'http://www.servidor.com.br/arq.php?var=2&bbb=3';</script>";

 

.

.

.

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, tenho um manual do PHP aqui que diz que dá para usar via include(), e a sua idéia não dá, pois o script PHP que vai executar o segundo script é apenas um script que processa várias informações de outros forms HTML, eu não queria "poluir" ele com outras coisas.Sinceramente creio que o PHP tenha um jeito de se fazer isso, o complicado é descobrir como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é "simples"

 

http:www.servidor.com.br/arq.php?var=2&bbb=3

 

use assim

 

main.php

$var = 2;$bbb = 3;include("arq.php");

arq.php

 

echo $var;echo $bbb;

 

Vai na fé que funfa heheheh

Compartilhar este post


Link para o post
Compartilhar em outros sites

e so receber as variaveis do 2 arquivo no 1.. fraga? ou entao tem qmudar as configs do php nao lembro qual, q no include para aceitar parametros via get precisa ser endereço absoluto , mas isso vem desabilitado por padrao

Compartilhar este post


Link para o post
Compartilhar em outros sites

e so receber as variaveis do 2 arquivo no 1.. fraga? ou entao tem qmudar as configs do php nao lembro qual, q no include para aceitar parametros via get precisa ser endereço absoluto , mas isso vem desabilitado por padrao

é uma solução, mas se você hospedar o site em servidor compartilhado, talvez o dono do host nao tenha habilitado esta opção..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe o trecho do meu código:

$controle = 2;$param = 3;include('http://www.servidor.com.br/arq.php');
Só isso, o código que devia ter sido executado no arq.php simplesmente não é executado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe o trecho do meu código:

$controle = 2;$param = 3;include('http://www.servidor.com.br/arq.php');
Só isso, o código que devia ter sido executado no arq.php simplesmente não é executado.

Rss olha onde tá o erro:

$controle = 2;

$param = 3;

include('http://www.servidor.com.br/arq.php');

Tipo.. tente assim

 

$controle = 2;$param = 3;include('arq.php');
ou

 

$controle = 2;

$param = 3;

include('caminho fisico do arquivo arq.php');

Cara as funcoes de inclusao do PHP não dão suporte a este tipo de inclusão (pela URL)... Pelo menos eu nunca consegui fazer um include com "http://"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os caras já postaram uma solução

 

$var = 2;$bbb = 3;include("arq.php");

Isso era pra funcionar, provavelmente você está matando esse valor atribuindo outro valor lá no arq.php.

 

você pode usar o comando Header do php e passar os parametros que quiser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se voce tentar dar include em um arquivo fora do seu servidor provavelmente nao vai funcionar, tem que usar fopen, e voce nao vai executar, vai pegar somente o retorno.

 

Se voce usar FOPEN, acho que pode passar parametros via funcao.

 

Ajax acho que nao funcionaria, pelo que me lembro voce soh pode fazer requisição para seu servidor.

 

Tente usar

PHP
$handle = fopen ("http://www.servidor.com.br", "r");

while (!feof ($handle)) {

    $buffer = fgets($handle, 4096);

    echo $buffer;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara os arquivos estão no mesmo servidor, apenas em pastas diferentes, vou verificar se é o path, mas tá soda, já perdi os cabelos todos (eram poucos).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei até os arquivos na mesma pasta e nada, realmente não tá funcionando.Se eu jogo no browser e testo isso funciona, quando um script puxa o outro não, que rolo. Parece que nem tá carregando, coloquei um echo no script a ser feito include() e não printa nada na tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei até os arquivos na mesma pasta e nada, realmente não tá funcionando.Se eu jogo no browser e testo isso funciona, quando um script puxa o outro não, que rolo. Parece que nem tá carregando, coloquei um echo no script a ser feito include() e não printa nada na tela.

Pyro... Seu include ainda tá com a url?

Coloquei até os arquivos na mesma pasta e nada, realmente não tá funcionando.Se eu jogo no browser e testo isso funciona, quando um script puxa o outro não, que rolo. Parece que nem tá carregando, coloquei um echo no script a ser feito include() e não printa nada na tela.

Pyro... Seu include ainda tá com a url?faça o seguinte, mande essas pags pro meu email Gustavo.ats@gmail.com, que eu dou uma olhada depois ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara como to com o tempo no limite fiz uma gambiarra para funcionar, depois com calma vou ver o que pode ter ocorrido, olha a gambiarra:

print "<META HTTP-EQUIV='refresh' CONTENT='3;URL=../arq.php?var=2&bbb=3'>\n";
Não ficou bonito mas está funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara como to com o tempo no limite fiz uma gambiarra para funcionar, depois com calma vou ver o que pode ter ocorrido, olha a gambiarra:

print "<META HTTP-EQUIV='refresh' CONTENT='3;URL=../arq.php?var=2&bbb=3'>\n";
Não ficou bonito mas está funcionando.
Se funcionou assim, provavelmente vai funcionar com:
include("../arq.php?var=2&bbb=3");
Caso coloque o include com urls, não vai funcionar, pois pelo que eu me lembre, a função include não da suporte para urls.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.