protetore 0 Denunciar post Postado Agosto 21, 2007 Pessoal, estou usando um script para fazer upload de todos os arquivos de uma pasta local para meu site. Rodando o script no meu servidor de testes local, para copiar os arquivos para o meu site, o processo ocorre sem apresentar nenhum erro. Quando rodo o script direto no site os arquivos não são nem copiados para o servidor, demora um tempão carregando a página e depois dá o erro: Internet Explorer cannot display the webpage. Ou então dá esse erro: Warning: chdir() [function.chdir]: No such file or directory (errno 2) in /home/meusite/www/admin/send_exames.php on line 22 Could not enter local source root directory. E essa é a linha 22: if (!chdir($srcroot)) { echo "Could not enter local source root directory."; die(); } O suporte a FTP está habilitado no meu servidor de hospedagem, já verifiquei.... Eis o código: <?php//recebe o caminho onde etão os arquivos a serem enviados$dir1 = $_POST['path'];// --------------------------------------------------------------------// SCRIPT// -------------------------------------------------------------------- //variáveis $ftproot = "/www/admin/relatorios/"; $srcroot = $dir1; $srcrela = "arquivos/"; // conecta ao FTP & entra nos diretórios apropriados, tanto local quanto remoto $ftpc = ftp_connect("ftp.meusite.com.br"); $ftpr = ftp_login($ftpc,"usuario","senha"); if ((!$ftpc) || (!$ftpr)) { echo "FTP connection not established!"; die(); } if (!chdir($srcroot)) { echo "Could not enter local source root directory."; die(); } if (!ftp_chdir($ftpc,$ftproot)) { echo "Could not enter FTP root directory."; die(); } // iniciando o ftp e varrendo o diretório ftpRec ($srcrela); // fechando a conexão ftp_close($ftpc); // --------------------------------------------------------------------// A FUNÇÃO ATUAL// --------------------------------------------------------------------function ftpRec ($srcrela){ global $srcroot; global $ftproot; global $ftpc; global $ftpr; // entra no diretório local chdir($srcroot); // verifica se existe e muda o destino para ele if (!ftp_chdir($ftpc,$ftproot.$srcrela)) { // se não existir é criado e acessado ftp_mkdir ($ftpc,$ftproot.$srcrela); ftp_chdir ($ftpc,$ftproot.$srcrela); } if ($handle = opendir(".")) { while (false !== ($fil = readdir($handle))) { if ($fil != "." && $fil != "..") { // verifica se é um arquivo ou diretório if (!is_dir($fil)) { // é um arquivo, então é feito upload ftp_put($ftpc, $ftproot.$srcrela.$fil, $fil, FTP_BINARY); } else { // se é um diretório... if ($fil == "novos") { // ignora o diretório novos } else { ftpRec ($srcrela.$fil."/"); chdir ("../"); } } } } closedir($handle); } }?> Alguém tem alguma idéia? Desde já, agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
Leonardo P 0 Denunciar post Postado Agosto 21, 2007 o erro que tá dando parece que é porque não existe o diretório pra onde você manda copiar, verifica tá correto o caminho para o diretório... Compartilhar este post Link para o post Compartilhar em outros sites
protetore 0 Denunciar post Postado Agosto 21, 2007 Warning: chdir() [function.chdir]: No such file or directory (errno 2) in /home/meusite/www/admin/send_relatorios.php on line 22 Could not enter local source root directory. Eu acho que ele não consegue acessar o diretório local, tá dando erro no chdir(), não é? Quando eu rodo o script localmentente no meu servidor de testes ele manda normalmente pro meu servidor de hospedagem na web... Compartilhar este post Link para o post Compartilhar em outros sites
_vina 0 Denunciar post Postado Agosto 21, 2007 Vou mostrar um ex:. que eu utilizo para Enviar e recuperar um arquivo em um servidor. <?$ftp_server = "ftp.seusite.com.br";$conn_id = ftp_connect($ftp_server);$ftp_user_name = "usuario";$ftp_user_pass = "sua senha";$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);$source_file = "arquivo.txt"; // caminho do arquivo a ser enviado$destination_file = "/pasta_onde_vai_ficar_o_arquivo/arquivo.txt";//enviando o arquivo$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);// confere o upload do arquivoif (!$upload) {//echo "O upload FTP falhou!";} else {//echo "Carregado o arquivo $source_file no servidor $ftp_server como $destination_file";}// fecha a conexão FTPftp_close($conn_id);?> Para recuperar um arquivo o processo eh o mesmo so a função que muda. ftp_put () - envia ftp_get() - recupera um arquivo testa ae e fala se funciona abs t+s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
protetore 0 Denunciar post Postado Agosto 21, 2007 É como eu falei antes, meu script funciona quando eu rodo ele no meu computador, ele envia os arquivos para o site normalmente. Mas quando rodo ele direto do site ele dá esse erro do chdir() dizendo que não pode acessar o diretório local onde estão os arquivos que serão enviados.... Tem uma página no site da empresa onde eu informo o diretório onde estão os arquivos a serem enviados, então o script pega todos os arquivos desse diretório e manda para o site via FTP. Esse erro insiste em acontecer: Warning: chdir() [function.chdir]: No such file or directory (errno 2) in /home/meusite/www/admin/send_relatorios.php on line 22 Could not enter local source root directory. Compartilhar este post Link para o post Compartilhar em outros sites
_vina 0 Denunciar post Postado Agosto 21, 2007 você deu permissão na pasta? chmod(0777); veja ae t+s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
protetore 0 Denunciar post Postado Agosto 21, 2007 você deu permissão na pasta? chmod(0777); veja ae t+s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Já está com permissão sim... Se eu copiar de uma pasta do site para outra também funciona, ele não consegue é copiar os arquivos do computador da empresa para a web com o sript rodando lá no servidor da empresa que hospeda o site. Já entrei em contato com o serviço de hospedagem, os comandos FTP estão habilitados, eles falaram que o servidor deles usa PHP 5, e eu posso estar usando o PHP 4 e pode estar dando algum problema, mas eu também estou usand PHP5 . Já tô ficando doido... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Compartilhar este post Link para o post Compartilhar em outros sites
T.P. 0 Denunciar post Postado Agosto 21, 2007 Tive um problema parecido, só que era o safemode que estava bloquando o upload, depois dele desativado foi perfeito.... Compartilhar este post Link para o post Compartilhar em outros sites
protetore 0 Denunciar post Postado Agosto 21, 2007 Tô ficando doido...O PHP é server-side, então os códigos rodam no servidor, eu gostaria de saber se é possível enviar todos os arquivos de um diretório do computador do usuário para um diretório no servidor sem rodar nenhum script localmente! Sem precisar estabelecer um servidor local.Assim, qualquer funcionario da empresa pode gerar seus relatórios no seu computador pessoal, em casa e enviá-los para o site!Como são muitos relatórios, é praticamente inviável enviar uma a um ou colocar XX campos de envio em um form...Alguém tem uma idéia? Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Agosto 22, 2007 voce terá que fazer um upload dos arquivos primeiro, ou entao usar flash ou applet, ou flex (minha preferencia), ou openlaszlo, mas php sózinho, sem chance ^^editado:pode tb usar algum activeX (IE only) =/ Compartilhar este post Link para o post Compartilhar em outros sites