Ir para conteúdo

POWERED BY:

Arquivado

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

marcosfj1

Funcao file_exists(), verificar se o arquivo existe no FTP

Recommended Posts

Seguinte galera consegui enviar o banner(arquivo swf) do jeito que eu queria, como disse em outro topico. Agora o que eu quero é chamar ele na pagina inicial do site, mas nao estou conseguindo.

 

Pesquisando eu vi sobre uma função que checa se o arquivo existe em determinada pasta do FTP atraves do nome do arquivo pego pelo banco de dados, mas nao esta dando certo, nao sei se o erro é na funcao ou na minha condição gostaria que voces olhassem e me dessem uma dica.

 

Vamos la, primeiro eu checo se o arquivo e seus dados foram para o banco de dados:

//PEGANDO O BANNER 1
$sql = mysql_query ("SELECT id_banner1, banner1 FROM banner1 WHERE id_banner1 IS NOT NULL ORDER BY id_banner1 DESC LIMIT 1");
$cp = mysql_fetch_array($sql);


//PEGANDO O BANNER 2
$sql2 = mysql_query ("SELECT id_banner2, banner2 FROM banner2 WHERE id_banner2 IS NOT NULL ORDER BY id_banner2 DESC LIMIT 1");
$cp2 = mysql_fetch_array($sql2);

 

Aqui vale explicar que eu vou pegar 2 banners de duas tabelas diferentes, pois um será mostrado para um tipo de usuario e o outro para outro tipo de usuario. Bom com este codigo eu pego os dois de suas respectivas tabelas no banco que já chequei que estao la. E tambem se eu der um:

echo cp['banner1'];

Aparecera o nome do banner da tabela 1

 

Bom depois disso eu checo se existe o arquivo no FTP, lembrando que eu já verifiquei a existencia dele e sei q esta la na pasta determinada por mim.

 

if (file_exists($_SESSION['banner1'].$cp['banner1]) ) {
$arquivo_nome1 = $cp['banner1'];
}
if (file_exists($_SESSION['banner2].$cp2['banner2]) ) {
$arquivo_nome2 = $cp2['banner2'];
}

 

Bom aqui eu tento verificar a existencia do arquivo no FTP, e se ele existir eu jogo para a variavel $arquivo_nome1 ou $arquivo_nome2, que serão trabalhadas depois de acordo com o tipo de usuario.

 

O problema é que acho q esta função nao esta correta, pois nada é enviado para nenhum das variaveis $arquivo_nome

Alguem pode me ajudar?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de qualquer situação, dê uma olhada na função: :seta: http://br.php.net/file_exists

 

Vamos lá, certifique-se de que sua sessão está realmente com o valor correto, vi que você concatenou a sessão com a variável utilizada na consulta.

 

$_SESSION['banner1'].$cp['banner1]

 

esteja certo de que você não esqueceu o

session_start();

no topo da página, ao invés de usar as variáveis faça o seguinte:

 

(file_exists('caminhonoftp/arquivo.swf')) ? print 'O Arquivo Existe' : die('Não existe');

 

faça a verificação sem as variáveis e veja o que retorna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar aqui e já retorno

 

Obrigado

 

Bom tentei aqui os teste que voce sugeriu e este foi o resultado

 

(file_exists('banner/9887.swf')) ? print 'O Arquivo Existe' : die('Não existe');

 

Apareceu que o arquivo existe.

 

Sim eu inicie o session_star();

 

Sobre ter concatenado é que eu quero que mostre o ultimo nome do banner das tabelas e para fazer isso primeiro eu selecionei o nome no banco depois concatenei na função file_exists

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi, você está embolando alguma coisa aí... notei que você faz essa condição na BUSCA:

 

SELECT id_banner1, banner1 FROM banner1 WHERE id_banner1 IS NOT NULL ORDER BY id_banner1 DESC LIMIT 1

 

Pra selecionar os banners cuna os campos não são nulos, porém você limita a consulta para 1 registro, então se tiver mais de 1 banner, ele só listará 1, está correto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi, você está embolando alguma coisa aí... notei que você faz essa condição na BUSCA:

 

SELECT id_banner1, banner1 FROM banner1 WHERE id_banner1 IS NOT NULL ORDER BY id_banner1 DESC LIMIT 1

 

Pra selecionar os banners cuna os campos não são nulos, porém você limita a consulta para 1 registro, então se tiver mais de 1 banner, ele só listará 1, está correto ?

 

 

Sim cara, por que os banner sao enviados pelo sistema administrativo do site, assim limitando por 1 em ordem decrescente ele pegara o ultimo que foi adicionado pelo administrador.

 

Mas entao ja esta dando certo, consegui resolver o problema fiz assim:

$_SESSION['banner1'] = 'banner1/';
$_SESSION['banner2'] = 'banner2o/';

 

E depois fiz a outra condição onde eu concateno com o nome que consigo na busca, e apareceu. Porem surgiu um outro problema na hora de chamar o banner que antes era um banner apenas ai o caminho para buscar o banner no FTP era fixo, agora o caminho dele muda conforme o tipo de usuario pois cadas tipo tera um banner.

 

Entao vou tentar fazer assim:

if (condiçao que verifica o tipo de usuario){
$arquivo_swf = $arquivo_nome2;
$caminho = 'banner/'
}elseif{
$arquivo_swf = $arquivo_nome1;
$caminho = 'banner_preco/'
}

 

Ai onde eu mostro o banner quero fazer assim:

 


<param name="movie" value="<?php $caminho ?>/<?=$arquivo_swf ?>" />
     <param name="quality" value="high" />
     <param name="wmode" value="opaque" />
     <param name="swfversion" value="8.0.35.0" />
     <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
     <param name="expressinstall" value="comum/js/Scripts/expressInstall.swf" />
     <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
     <!--[if !IE]>-->
     <object type="application/x-shockwave-flash" data="<?php $caminho ?>/<?=$arquivo_swf ?>" width="100%" height="211">

 

Mas ainda nao esta dando certo de fazer a mudança entre os banner de acordo com o tipo de usuario

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.