Como usar o arquivo PHP e Diretório Funções para HTML5 e CSS3 Programação

Às vezes, você pode precisar de PHP para trabalhar com arquivos em um diretório para HTML5 e CSS3 programação. Digamos que você tenha uma ferramenta de relatório para um cliente. A cada semana, você gerar um novo relatório para o cliente e colocá-lo em um diretório.

Você não quer ter que alterar a página de cada vez que você fizer isso, então em vez disso, fazer uma página que gera automaticamente uma lista de todos os arquivos de relatório para o cliente escolher. Este é o tipo de coisa que você pode fazer com funções como opendir () e readdir ().

opendir ()

usando o opendir () função, você pode criar uma variável (tecnicamente falando, este tipo de variável é chamado de manusear) Que lhe permite trabalhar com um diretório específico.

o opendir () função recebe um parâmetro: o caminho para o diretório que você deseja trabalhar. o opendir () função retorna um identificador de diretório (como uma espécie de conexão com o diretório) em caso de sucesso e Falso em caso de falha.

Aqui é um exemplo do opendir () função. Esta função armazena um identificador de diretório para o C: xampp htdocs XFD xfd5.7 diretório na $ directoryHandle variável:

$ DirectoryHandle = opendir ( "C: xampp htdocs XFD xfd5.7") -

readdir ()

Depois de abrir o diretório com o opendir () função, você tem um cursor apontado para o primeiro arquivo. Neste ponto, você pode ler os nomes de arquivos um por um com um enquanto loop. Para fazer isso, use o readdir () função.

o readdir () função recebe um parâmetro: a variável que contém o manipulador do diretório criado com o opendir () função. o readdir () função retorna o nome de um arquivo que está sendo focada em pelo cursor no sucesso e no fracasso.

Aqui é um exemplo do readdir () função. Esta função percorre cada arquivo no diretório especificado pela $ dp e atribui o nome do arquivo atual para um novo índice em $ fileArray array:

while ($ currentFile == false!) {$ currentFile = readdir ($ dp) - $ filesArray [] = $ currentFile-}

o real readdir () funcionar em si é readdir ($ dp). Para mais informações sobre a função, consulte a documentação on-line oficial do PHP durante a https://us.php.net/function.readdir.

Em algumas circunstâncias, o readdir () função pode retornar valores não-booleano que avaliam a Falso, tal como 0 ou # 147- # 148-. Ao testar o valor de retorno do readdir () função, uso === ou !==, ao invés de ==ou !==, para acomodar estes casos especiais.

chdir ()

Se você quiser criar um arquivo em um diretório diferente do diretório que a página PHP criar o arquivo se encontra, você precisa mudar diretórios. Você alterar diretórios em PHP com o chdir () função.

Se você quer ser absolutamente certo de que você está no diretório correto antes de escrever o arquivo, você pode usar um E se declaração com o getcwd () função. Isso geralmente é um pouco de exagero, mas pode ser útil.

o CHdir () função recebe um parâmetro: o caminho para o diretório que você deseja trabalhar. o CHdir () função retorna Verdade em caso de sucesso e Falso em caso de falha.

Aqui é um exemplo do CHdir (). Esta função muda para o C: xampp htdocs XFD xfd5.6 diretório:

chdir ( "C: xampp htdocs XFD xfd5.6") -

Quando você muda para um diretório, você está livre para escrever para ele com a função.

Como gerar uma lista de links de arquivos

usando o opendir () e readdir () funções, você pode gerar uma lista de links para os arquivos em um diretório.

Dê uma olhada no código PHP para o exemplo de lista de links de arquivos:

fileList.php
    ? Lt; php $ dp = opendir ( ".") - $ CurrentFile = "" -enquanto (! $ CurrentFile == false) {$ currentFile = readdir ($ dp) - $ filesArray [] = $ currentFile-} // acabar enquanto // classificar a matriz em alfa ordersort ($ filesArray) - ". -foreach ($ filesArray quanto $ aFile) {$ output =" // escreve a saída $ output = "
  • $ aFile
  • N "-} // fim foreachprint" $ saída? "->

Veja como o programa fileList.php realiza sua magia:

  1. Abra um ponteiro para o diretório atual.

    Em todos os principais sistemas operacionais, o período (.) Caracteres indica o diretório atual.

    $ Dp = opendir ( ".") -
  2. Construir um ciclo que se repete até que não existem arquivos deixados.

    O especial !==comparação é utilizado para prevenir problemas raros, como arquivos nomeados falso. (Sim, acredite ou não, que às vezes acontece.)

    image0.jpg
    while ($ currentFile! == false) {
  3. Leia o próximo arquivo a partir do ponteiro diretório.

    o readdir () função lê o próximo arquivo e armazena-a uma variável ($ currentFile).

     $ CurrentFile = readdir ($ dp) -
  4. Anexe o arquivo atual para uma matriz.

    Se você simplesmente atribuir um arquivo para um array sem um índice, PHP coloca o elemento no próximo espaço disponível.

     $ FilesArray [] = $ currentFile-
  5. Classificar a matriz.

    Os arquivos não será em nenhuma ordem específica na matriz, então use o ordenar() função.

    sort ($ filesArray) -
  6. Imprimir cada elemento da matriz.

    Você pode usar uma lista desordenada de links para exibir cada arquivo. Torná-lo um link para que o usuário pode clicar no arquivo para visualizá-lo diretamente.

    foreach ($ filesArray quanto $ aFile) {$ saída. = "
  7. $ aFile
  8. N "-} // foreach final

Em um servidor Windows, você tem que escapar as barras invertidas no caminho do arquivo. Você pode fazer isso adicionando uma barra invertida antes as barras invertidas no caminho do arquivo. (Por exemplo, você escreveria C: xampp htdocs XFD xfd5.7 ao invés de C: xampp htdocs XFD xfd5.7 .) Em um servidor Unix, você não tem que fazer isso porque os caminhos de arquivo usar barras (/) Em vez de barras invertidas ().

Se você quer apenas um determinado tipo de arquivo, você pode usar expressões regulares para filtrar os arquivos. Se você queria apenas o .TXT e .dat arquivos do diretório, você poderia ter corrido matriz do arquivo através deste filtro para eliminar os tipos de arquivos indesejados:

$ FilesArray = preg_grep ( "/ txt $ | dat $ /", $ filesArray) -

menu