Eu uso o Windows XP SP2, Abyss Web Server X1 e ActivePerl. No meu sistema na verdade existem seis itens (não quatro como se poderia pensar). Dois deles não são criados por mim. O primeiro item é um único ponto e outro é um ponto duplo, ambos não criado por mim. Leia o seguinte código. Guarde-o com o nome, temp.pl em seu diretório cgi-bin do seu servidor. use strict; print "Content-Type: text /html \\ n \\ n"; opendir (dir, "c: /directory1 /directory2 /directory3"); meudirList = readdir (dir); for (o meu $ i = 0; i $ {print $ DIRlist [$ i] ".
} closedir (dir); Use o navegador para executar o arquivo, temp.pl. Para fazer isso você pode ter que digitar algo como: http : //localhost:. 8000 /cgi-bin /temp.pl na barra de endereços do meu servidor está no meu computador pessoal, então eu tenho http:. //localhost como o meu domínio Na verdade eu tenho 2 servidores em meu computador e Abyss Web X1 servidor não é o servidor padrão; é por isso que eu tenho o ": 8000" no endereço da web As primeira e segunda linhas no código são úteis quando a sua saída é o navegador A terceira linha abre o diretório, directory3 do.. caminho, c:..
/directory1 /directory2 /directory3 A for-loop exibe os seis itens do diretório na matriz Criamos quatro itens em directory3 Em seu sistema, provavelmente há seis itens, também o primeiro é um ponto.. . O segundo é um ponto duplo. No meu sistema, os dois seguintes são os dois arquivos e os dois últimos são os dois diretórios. A última declaração fecha o diretório. A saída para o meu navegador, é,. .. fileA.txt fileB .txt Dira dirB E se o diretório não abrir? O diretório pode não abrir se o disco tem problemas, por exemplo, o disco pode ter setores defeituosos.
Portanto, você deve sempre verificar se o diretório foi aberto ou não êxito. A função de opendir () abre um diretório e retornaria true se o diretório foi aberto com sucesso ou falso se o diretório não foi aberto com êxito. Você usa esse valor de r