Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 438

Erro com URL + IMAGEM

25-01-2017 06:55

tenho duas areas em um site area do usuario e area de administração, quando faço upload na pasta anexo pela area de usuario na hora de recuperar a imagem na area de administração 
<?php $imgcurso = $solicitacao[anexo_pagamento]; $imgcursob = str_replace("upload", "../upload", $imgcurso); echo $imgcursob;?>

sistema/ - > usuario
sistema/admin -> area de administração
sistema/upload/anexo
estou tendo 

Recuperação de quando faço upload na area de administração
<?php $imgcurso = @mysql_result($sqlaulae,0,foto); $imgcursob = str_replace("../", "", $imgcurso); echo $imgcursob;?>

existe algum jeito de parar com esta confusão ? obrigado
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Erro com URL + IMAGEM

25-01-2017 12:07

Montei um exemplo. Ele funciona assim:

O script pega a URL atual.
Se está na pasta raiz do domínio não adiciona ../
Se está uma pasta a frente da raiz adiciona ../
Se está duas pastas a frente da raiz adiciona ../../

Basta você chamar a seguinte função no topo do documento

<?php function BaseFoto() { $url = parse_url($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); $e = explode("/", $url['path']); $u = ""; switch(count($e)) { case 2 : $u = ""; break; case 3 : $u.= "../"; break; case 4 : $u.= "../../"; break; }     return $u; } ?>

Para usar essa função faz assim:


echo "<img src=\"".BaseFoto()."upload/anexo/foto.jpg\">";

Testa ai e confere o caminho pelo código-fonte para ver se está batendo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 438

Re: Erro com URL + IMAGEM

26-01-2017 07:05

Em breve eu testo e te aviso mas obrigado desde já
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 438

Re: Erro com URL + IMAGEM

27-01-2017 00:26

Só funcionou assim tirei o case 1 e o case 2, não entendi por que com o case 1 e case 2 não funciona

<?php function BaseFoto() { $url = parse_url($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); $e = explode("/", $url['path']); $u = ""; switch(count($e)) { case 3 : $u = ""; break; case 4 : $u.= "../"; break; case 5 : $u.= "../../"; break; } return $u; } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Erro com URL + IMAGEM

27-01-2017 11:08

O que fiz foi explodir a URL pela barra. Depois contar o número de pedaços que foi obtido.

Esse número do case é exatamente o número de pedaços obtidos da URL.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 438

Re: Erro com URL + IMAGEM

31-01-2017 09:43

Existe alguma outra maneira, pois dentro da pasta admin não funcionando.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Erro com URL + IMAGEM

31-01-2017 12:33

Pelo que vi no seu primeiro post post ficaria:

../upload/anexo/foto...jpg

Se for para ser automático tem que seguir alguma regra.
Você pode fazer o seguinte. Coloca o seguinte dentro de algum arquivo da pasta admin:

$url = parse_url($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); $e = explode("/", $url['path']); echo count($e);

Vê o resultado que vai dar e joga no switch para ser específico para a pasta admin.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 438

Re: Erro com URL + IMAGEM

31-01-2017 22:07

Esse Código que me mandou eu teste abaixo tem o resultado

<? $url = parse_url($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); $e = explode("/", $url['path']); echo count($e); ?>

Descobri qual é o problema no LOCALHOST o echo mostra 4, e online mostra 3, acho que é por que em localhost ele está separado por uma subpasta 'entt' é o nome dela, online está direto sem essa pasta. existe alguma forma de funcionar igual tanto para localhost e online?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Erro com URL + IMAGEM

31-01-2017 22:12

Você vai ter que trabalhar com condicionais. Ao invés de usar switch trabalha com if.

echo $_SERVER["SERVER_NAME"];

Pega o nome do servidor local e do servidor online.

Ai faz algo do tipo:

if($_SERVER["SERVER_NAME"]=="nome do servidor") { .. }

Dentro do if você trabalha as contagens.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado