O objetivo dessa etapa é abrir um arquivo.

Se vc nunca trabalhou com CGI ou extensões do apache (mod_perl, por exemplo)
vc deve achar essa etapa esquisita. Mas esse é um problema comum nesses ambientes.

Quando vc "está" no diretório C:\myapp e deseja abrir um arquivo em C:\myapp\data
Basta referenciar ele do ponto onde você está (path relativo)

USE ( "data\meuarquivo.dbf" ) por exemplo

Mas no nosso caso será necessário especificar o caminho completo.

USE ( "c:\myapp\data\meuarquivo.dbf" ) 

*

O mod_harbour facilita para você através da função PathBase(), ela retorna o caminho até o local onde o script está.
Note que vc pode passar parâmetros para a PathBase(), assim :

PathBase( "/data" ) --> Caminho até o script + "/data"

As barras de separação são assim mesmo, no padrão *Nix.

[code]
function main

local cArq := PathBase("/data") + "/clientes.dbf"

    ?? "Abrindo em : " , cArq
    
    USE ( cArq ) SHARED // Use shared por causa do ambiente compartilhado
    DO WHILE .NOT. EOF()
       ? field->nome
       skip
    ENDDO

return nil
[/code]

*
Nota para usuários *Nix

O Apache2 cria o usuário www-data no grupo www-data.
O arquivo que vc vai abrir precisa ser visível para esse usuário.

chown -R www-data.www-data <pasta dos meus dbfs ou textos>





 


