Pergunta

Digamos que eu tenha o URL de uma imagem e o acesso de arquivo da URL está desativado na configuração do servidor, e isso não é algo que eu possa (ou desejar) mudar, existe uma maneira fácil de obter sua altura/largura usando PHP? Prefiro não usar o JavaScript, se possível.

Nenhuma solução correta

Outras dicas

Umm, então você vai puxar a imagem sobre a rede para o seu aplicativo PHP "Encontrar" o tamanho e, presumivelmente, emitir uma tomada html img com o tamanho? Parece meio descolado para mim.

Isso realmente não faz muito sentido, pois se você pode visualizar a imagem em uma página da web, a imagem deve estar diretamente acessível através do URL. Por que, em outras palavras, você teria um URL para uma imagem que não pode ser acessada via URL?

Independentemente disso, você pode usar qualquer número de bibliotecas HTTP/URL para definir um agente de usuário no cabeçalho da solicitação. Essencialmente, você induz o servidor a acreditar que um navegador está acessando o arquivo, em vez de um serviço anônimo.

Aqui está uma lista de Agentes do usuário do navegador Você pode usar para esse fim.

Para examinar uma imagem remota, você precisará solicitá -la de alguma forma. Você não pode determinar as propriedades de algo que não pode ver. Se o acesso ao arquivo remoto estiver desativado para a instalação do PHP, talvez seja necessário cultivá -lo para um processo de nível do sistema, como WGET, CURL ou FTP.

As chances são de que, se o seu host tiver desativado o acesso a arquivos remotos, provavelmente também desativou o acesso do Shell, mas, como exemplo, você pode fazer algo como:

exec("wget ".$url);

Outra opção pode ser usar o Pacote de Curl embutido, se, por alguma configuração ímpar, estiver instalada e ativa, apesar de não ter acesso a arquivo remoto.

Se você pode descobrir uma maneira de baixar a imagem do servidor remoto, você pode usar getImagesize () nele.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top