Estou usando o XAMPP no Windows Vista. No meu desenvolvimento, eu tenho http://127.0.0.1/test_website/
.
Como recebo o http://127.0.0.1/test_website/
PHP?
Eu tentei algo assim, mas nenhum deles funcionou.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
Respostas:
Tente o seguinte:
Saiba mais sobre a
$_SERVER
variável predefinida .Se você planeja usar https, pode usar o seguinte:
Por esta resposta , certifique-se de configurar seu Apache corretamente para que você possa confiar com segurança
SERVER_NAME
.NOTA : Se você estiver dependendo da
HTTP_HOST
chave (que contém a entrada do usuário), ainda precisará limpar, remover espaços, vírgulas, retorno de carro, etc. Qualquer coisa que não seja um caractere válido para um domínio. Verifique a função parse_url incorporada ao PHP para obter um exemplo.fonte
$_SERVER['HTTPS']
e trocar emhttps://
vez dehttp://
nesses casos.REQUEST_URI
já inclui um/
; faz. @swarnendu , tenha mais cuidado ao editar as respostas de outras pessoas. Isso deveria ter sido um comentário.Função ajustada para executar sem avisos:
fonte
Snippet divertido 'base_url'!
Use tão simples quanto:
fonte
Uso:
fonte
É simples de usar o
Output:
fonte
https://example.com
dehttps://example.com/category2/page2.html?q=2#lorem-ipsum
- que não tem nada a ver com a página atual que você está.Eu acho que o
$_SERVER
superglobal tem a informação que você está procurando. Pode ser algo como isto:Você pode ver a documentação relevante do PHP aqui .
fonte
Tente o seguinte código:
fonte
O código a seguir reduzirá o problema para verificar o protocolo. O $ _SERVER ['APP_URL'] exibirá o nome de domínio com o protocolo
$ _SERVER ['APP_URL'] retornará o protocolo: // domain (por exemplo: - http: // localhost )
$ _SERVER ['REQUEST_URI'] para partes restantes da URL, como / directory / subdiretório / something / else
A saída seria assim
http: // localhost / diretório / subdiretório / alguma coisa / outra coisa
fonte
Encontrei isso em http://webcheatsheet.com/php/get_current_page_url.php
Adicione o seguinte código a uma página:
Agora você pode obter o URL da página atual usando a linha:
Às vezes, é necessário obter apenas o nome da página. O exemplo a seguir mostra como fazer isso:
fonte
fonte
Tente isso. Funciona para mim.
Use assim:
fonte
Truque simples e fácil:
O URL fica assim:
http://example.com/folder/
fonte
Você pode fazer assim, mas desculpe, meu inglês não é bom o suficiente.
Primeiro, obtenha o URL base com este código simples.
Testei esse código no meu servidor local e público e o resultado é bom.
saída será assim:
use a
home_base_url
função noindex.php
seu site e defina-ae então você pode usar esta função para carregar scripts, css e conteúdo via url como
criará uma saída como esta:
e se esse script funcionar bem ,,!
fonte
Aqui está um que eu acabei de montar que funciona para mim. Ele retornará uma matriz com 2 elementos. O primeiro elemento é tudo antes do? e o segundo é uma matriz que contém todas as variáveis de string de consulta em uma matriz associativa.
Nota: Esta é uma expansão da resposta fornecida por maček acima. (Crédito onde o crédito é devido.)
fonte
Editado na resposta de @ user3832931 para incluir a porta do servidor.
para formar URLs como ' https: // localhost: 8000 / folder / '
fonte
fonte
Tente usar:
$_SERVER['SERVER_NAME'];
Usei-o para ecoar o URL base do meu site para vincular meu css.
Espero que isto ajude!
fonte
Eu tinha a mesma pergunta que o OP, mas talvez um requisito diferente. Eu criei esta função ...
... que, aliás, eu uso para ajudar a criar URLs absolutos que devem ser usados para redirecionar.
fonte
e você recebe algo como
fonte
Basta testar e obter o resultado.
fonte
No meu caso, eu precisava do URL base semelhante ao
RewriteBase
contido no.htaccess
arquivo.Infelizmente simplesmente recuperar a
RewriteBase
partir do.htaccess
arquivo é impossível com PHP. Mas é possível definir uma variável de ambiente no arquivo .htaccess e depois recuperar essa variável no PHP. Basta verificar estes bits de código:.htaccess
index.php
Agora eu uso isso na tag base do modelo (na seção principal da página):
Portanto, se a variável não estava vazia, nós a usamos. Caso contrário, faça o fallback para
/
como caminho base padrão.Com base no ambiente, o URL base sempre estará correto. Eu uso
/
como o URL base em sites locais e de produção. Mas/foldername/
para o ambiente de preparação.Todos eles tinham os seus próprios
.htaccess
em primeiro lugar porque o RewriteBase era diferente. Portanto, esta solução funciona para mim.fonte
Veja $ _SERVER ['REQUEST_URI'], ou seja,
Se você deseja oferecer suporte a HTTP e HTTPS, pode usar esta solução
Isso funcionou para mim. Espero que isso também ajude você. Obrigado por fazer esta pergunta.
fonte