Como você pode colocar um ponto de interrogação em nomes de arquivos?

1

No Windows, você não pode colocar um ? em um arquivo ou nome de diretório, porque eles são caracteres reservados para funções GET do PHP e curingas. Mas no Ubuntu eu posso. Eu posso nomear um arquivo lol?.txt e acessá-lo corretamente como qualquer outro arquivo. Por que você pode fazer isso com segurança no Ubuntu, quando não consegue no Windows?

    
por latias1290 29.06.2014 / 12:17

1 resposta

4

O raciocínio por trás da primeira afirmação é falso. Essa é uma restrição da era do DOS, bem antes do PHP ou até mesmo do HTTP. Veja a entrada da Wikipedia :

  

O sistema de nome de arquivo longo permite um tamanho máximo de 255 caracteres UCS-2 3 4 incluindo espaços e caracteres não alfanuméricos (excluindo os seguintes caracteres, que possuem um significado especial no interpretador de comandos COMMAND.COM ou no kernel do sistema operacional: \ / : * ? " < > | ).

Assim, é mais uma restrição do DOS do que uma permissividade do Linux / Unix.

    
por muru 29.06.2014 / 12:56