Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

razs

[Resolvido] myme type e rename

Recommended Posts

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.