razs 0 Denunciar post Postado Março 22, 2012 ok, pondo as directorias manualmente funciona mas pondo atraves de string nao funciona assim funciona: var_dump(ftp_nlist($conn_id, 'esdtugio/pdat')); assim nao funciona: $dir =$stud."/".$pat."/"; var_dump(ftp_nlist($conn_id, '$dir')); se eu acrescentar var_dump(in_array('22-03-2012_esdtugio_exdame_cednhtro_pdat_vidsit.zip', ftp_nlist($conn_id, 'esdtugio/pdat'))); ele devolve bool(false) embora o ficheiro esteja la Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 22, 2012 ok, pondo as directorias manualmente funciona mas pondo atraves de string nao funciona assim funciona: var_dump(ftp_nlist($conn_id, 'esdtugio/pdat')); assim nao funciona: $dir =$stud."/".$pat."/"; var_dump(ftp_nlist($conn_id, '$dir')); utilize die($stud."/".$pat."/"); e veja se o valor impresso é igual a 'esdtugio/pdat' se eu acrescentar var_dump(in_array('22-03-2012_esdtugio_exdame_cednhtro_pdat_vidsit.zip', ftp_nlist($conn_id, 'esdtugio/pdat'))); ele devolve bool(false) embora o ficheiro esteja la Na primeira linha, que você disse que funciona, o arquivo aparece??? Compartilhar este post Link para o post Compartilhar em outros sites
razs 0 Denunciar post Postado Março 22, 2012 sim apareceram os nomes normalmente. sim na linha que disse que funcionava aparece o arquivo vai a este endereço e tenta fazer o upload de um ficheiro zip ate 1MB Clique aqui assim ja funciona var_dump(ftp_nlist($conn_id, $dir)); tinha assim, bastou tirar as plicas var_dump(ftp_nlist($conn_id, '$dir')); Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 22, 2012 agora basta verificar se o conteúdo de $novonome é igual ao arquivo encontrado die($novonome); Deve ser exatamente igual a esdtugio/pdat/22-03-2012_esdtugio_exdame_cednhtro_pdat_vidsit.zip Compartilhar este post Link para o post Compartilhar em outros sites
razs 0 Denunciar post Postado Março 22, 2012 pus assim if (in_array($novonome , ftp_nlist($conn_id, $dir))){ $out['error'][] = "That file $novonome already exist!"; } se nao ouver ele cria e da este erro Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\inetpub\vhost\aquasplender.com\httpdocs\corc\ftp1.php on line 51 mas se ouver ele nao da erro e porta-se como se tivesse funcionado normalmente Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 22, 2012 Sinceramente, estou ficando sem recursos para te ajudar. Vamos lá, isso eu testei aqui e deu certo: Adicione em um novo arquivo, substituindo os valores de conexão, caminho e arquivo <?php $hostname = 'localhost'; $username = 'evandro'; $password = 'evandro'; $pathname = 'Sites/imasters/forum'; $filename = 'teste.txt'; $ftp_search = "{$pathname}/{$filename}"; $connection = ftp_connect($hostname) or die("Can't connect."); ftp_login($connection, $username, $password) or die("Can't login."); $files = ftp_nlist($connection, $ftp_search); if ($files === FALSE) { die("Cannot fetch '{$pathname}'. Can you really access it?"); } if (!in_array($ftp_search, $files)) { die("File doesn't exists. Found files are: ". print_r($files, 1)); } die("File already exists."); Compartilhar este post Link para o post Compartilhar em outros sites
razs 0 Denunciar post Postado Março 23, 2012 nao consegui por isso a funcionar dava sempre erro. isto é frustante, o mesmo codigo funciona para a criação de pastas, é estranho Secalhar é melhor postar o codigo todo na va eu ter alguma coisa a fazer interferencia. if ($_FILES["arquivo"]=="") { $out['error'][] = "Please specify a file"; } if ($arquivo['type'] == "multipart/x-zip" || $arquivo['type']== "application/zip" || $arquivo['type'] == "application/x-zip-compressed" || $arquivo['type'] == "application/x-compressed") { } else { $out['error'][] = "Only Zip files are allowed!"; } if ($arquivo['size']>500000000) { $out['error'][] = "File upload limit is 500MB!"; } ftp_login( $conn_id, $user, $pass ); if (in_array($novonome, ftp_nlist($conn_id, $dir))) { $out['error'][] = "That file $novonome already exist!"; } if (count($out['error'])>0) { foreach ($out['error'] as $msg) { $message = '<p>'.$msg.'</p>'; echo $message; die } } else { if (!in_array($stud, ftp_nlist($conn_id, ''))) { ftp_mkdir($conn_id, $stud) or fail ($out['error'][] ="Cannot create dir $stud."); } if (!in_array($pat, ftp_nlist($conn_id, $stud))) { ftp_mkdir($conn_id, $stud.'/'.$pat) or fail ($out['error'][] ="Cannot create dir $pat."); } ftp_put( $conn_id, $caminho, $arquivo['tmp_name'], FTP_BINARY); ftp_close($conn_id); die entretanto consegui por o print_r a funcionar... print_r(ftp_rawlist($conn_id, $dir)); consegui, fiz com file_size nao sei ate que ponto esta é uma boa opção mas atendendo as dificuldades acho que pode ficar assim. if(ftp_size($conn_id, $caminho ) <> '-1'){ $out['error'][] = "File already exist!"; } Muito obrigado pela ajuda. voltou ao mesmo, tive a ver e penso ter descoberto o problema, ele fica com o ficheiro em cache do form, e quando tento submeter um segundo ficheiro ele empanca pois na verdade esta a submetet o anterior que ja existe. Compartilhar este post Link para o post Compartilhar em outros sites