cassiombc 0 Denunciar post Postado Abril 20, 2010 Galera por favor alguem me ajude ja faz uma semana que não consigo colocar esta funcção para funcionar pois não sei o que esta acontecendo. Uso o filezila para tranferencia de arquivos FTP, alterei os atributos da pasta onde vai ficar as imagens para as permissões de GRUPO,PROPRIETARIO e PUBLICO(ler , escrever e executar). Ja tentei varios formularios na net mas nehum funciona alguem me ajuda por favor São dois um é o formulario 1:testando2.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> </head> <body> <form enctype="multipart/form-data" action="teste2.php" method="post"> send this file <input name="foto" type="file"/> <input type="submit" value="send file" /> </form> </body> </html> o outro é 2:teste2.php <?php if(!$_FILES){ echo 'Nenhum arquivo enviado!'; }else{ $file_name = $_FILES['foto']['name']; $file_type = $_FILES['foto']['type']; $file_size = $_FILES['foto']['size']; $file_tmp_name = $_FILES['foto']['tmp_name']; $error = $_FILES['foto']['error']; } switch ($error){ case 0: break; case 1: echo 'O tamanho do arquivo é maior que o definido nas configurações do PHP!'; break; case 2: echo 'O tamanho do arquivo é maior do que o permitido!'; break; case 3: echo 'O upload não foi concluÃ!'; break; case 4: echo 'O upload não foi feito!'; break; } $destino = '/html/fotos'; if($error == 0){ if(!is_uploaded_file($file_tmp_name)){ echo 'Erro ao processar arquivo!'; print_r($_FILES); }else{ if(!move_uploaded_file($file_tmp_name,$destino.$file_name)){ echo 'Não foi possà salvar o arquivo!'; }else{ echo 'Processo concluà com sucesso!<br>'; echo "Nome do arquivo: $file_name<br>"; echo "Tipo de arquivo: $file_type<br>"; echo "Tamanho em byte: $file_size<br>"; } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Abril 20, 2010 coloque isso no início do seu script e veja o que retorna. echo "<pre>"; print_r($_FILES); echo "</pre>"; exit; Ah, outro detalhe, tem um erro no caminho "destino" do arquivo. $destino = '/html/fotos'; $destino . $file_name; // /html/fotosnome_do_arquivo altere para $destino = '/html/fotos/'; // Você esqueceu da "/" no final Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 20, 2010 Ele dis assim Array ( [foto] => Array ( [name] => Brinternet.bmp [type] => [tmp_name] => [error] => 6 [size] => 0 ) Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 20, 2010 [error] => 6 veja:http://php.net/manual/en/features.file-upload.errors.php UPLOAD_ERR_NO_TMP_DIR Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3. entre em contato com a hospedagem, se não conseguir configurar a pasta temp atráves de ini_set Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 20, 2010 O que eu posso solicitar a eles? e onde eu posso configurar o ini.set??? Eu não entendi muito bem não sobre o ini.set Como eu devo Configurar ele E a respeito do Servidor o que devo cobrar dele Desculpa a duplicidade de post Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 20, 2010 peça para a hospedagem configurar a pasta temporária. upload_tmp_dir http://br2.php.net/manual/pt_BR/ini.core.php#ini.upload-tmp-dir Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 20, 2010 Eu criei uma pasta chamada temp dentro de fotos e no php.ini ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir upload_tmp_dir = ftp://root@jornaldeeventos.com.br@ftp.jornaldeeventos.com.br/html/fotos/temp ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 300k Me expressei mal no php.ini eu coloquei upload_tmp_dir = ftp://root@jornaldeeventos.com.br@ftp.jornaldeeventos.com.br/html/temp no script <?php print_r($_FILES); if(!$_FILES){ echo 'Nenhum arquivo enviado!'; }else{ $file_name = $_FILES['foto']['name']; $file_type = $_FILES['foto']['type']; $file_size = $_FILES['foto']['size']; $file_tmp_name = $_FILES['foto']['tmp_name']; $error = $_FILES['foto']['error']; } switch ($error){ case 0: break; case 1: echo 'O tamanho do arquivo é maior que o definido nas configurações do PHP!'; break; case 2: echo 'O tamanho do arquivo é maior do que o permitido!'; break; case 3: echo 'O upload não foi concluÃ!'; break; case 4: echo 'O upload não foi feito!'; break; } $destino= 'ftp://root@jornaldeeventos.com.br@ftp.jornaldeeventos.com.br/html/fotos/'; if($error == 0){ if(!is_uploaded_file($file_tmp_name)){ echo 'Erro ao processar arquivo!'; print_r($_FILES); }else{ if(!move_uploaded_file($file_tmp_name,$destino.$file_name)){ echo 'Não foi possà salvar o arquivo!'; }else{ echo 'Processo concluà com sucesso!<br>'; echo "Nome do arquivo: $file_name<br>"; echo "Tipo de arquivo: $file_type<br>"; echo "Tamanho em byte: $file_size<br>"; } } } ?> Eu falei com o servidor eles disseram que é padrão para todos os clientes e nao me forneceu o caminho o que faço? Me ajudem porfavor Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Abril 20, 2010 crie um arquivo .php com a função phpinfo() e envie ao seu servidor. Em seguida acesse este arquivo e veja as configurações... phpinfo.php <?php phpinfo(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 21, 2010 Cara ele joga um porrada de informações lah da uma olhada www.jornaldeeventos.com.br/testando2.php Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 21, 2010 Veja a linha: upload_tmp_dir /export/nfs2/virtdom/jornaldeeventos.com.br/tmp/ /tmp Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 22, 2010 Eu faço o que com essse caminho? eu ja coloquei ele no php.ini e no script eu coloquei o caminho da pasta tipo no php ini. esta assim: ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir upload_tmp_dir = /export/nfs2/virtdom/jornaldeeventos.com.br/tmp/ ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 300k e No script está assim <?php $destino = 'ftp://root@jornaldeeventos.com.br@ftp.jornaldeeventos.com.br/html/fotos/'; echo"<script>alert('1')</script>"; if(!$_FILES){ echo 'Nenhum arquivo enviado!'; }else{ $file_name = $_FILES['foto']['name']; $file_type = $_FILES['foto']['type']; $file_size = $_FILES['foto']['size']; $file_tmp_name = $_FILES['foto']['tmp_name']; $error = $_FILES['foto']['error']; echo"<script>alert('2')</script>"; } echo"<script>alert('3')</script>"; switch ($error){ case 0: break; case 1: echo 'O tamanho do arquivo é maior que o definido nas configurações do PHP!'; break; case 2: echo 'O tamanho do arquivo é maior do que o permitido!'; break; case 3: echo 'O upload não foi concluÃ!'; break; case 4: echo 'O upload não foi feito!'; break; } echo"<script>alert('4')</script>"; if($error == 0){ if(!is_uploaded_file($file_tmp_name)){ echo 'Erro ao processar arquivo!'; echo"<script>alert('5')</script>"; }else{ if(!move_uploaded_file($file_tmp_name,$destino.$file_name)){ echo 'Não foi possà salvar o arquivo!'; echo"<script>alert('6')</script>"; }else{ echo 'Processo concluà com sucesso!<br>'; echo "Nome do arquivo: $file_name<br>"; echo "Tipo de arquivo: $file_type<br>"; echo "Tamanho em byte: $file_size<br>"; } } } ?> Galera o formulario continua o mesmo mas o sccript de função eu mudei <?php // Pasta onde o arquivo vai ser salvo $_UP['pasta'] = '/html/fotos/'; chmod('ftp://root@jornaldeeventos.com.br@ftp.jornaldeeventos.com.br/html/fotos/',1777); // Tamanho máximo do arquivo (em Bytes) $_UP['tamanho'] = 1024 * 1024 * 2; // 2Mb // Array com as extensões permitidas $_UP['extensoes'] = array('jpg', 'png', 'gif'); // Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único) $_UP['renomeia'] = false; // Array com os tipos de erros de upload do PHP $_UP['erros'][0] = 'Não houve erro'; $_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP'; $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML'; $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente'; $_UP['erros'][4] = 'Não foi feito o upload do arquivo'; // Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erro if ($_FILES['arquivo']['error'] != 0) { die("Não foi possível fazer o upload, erro:<br />" . $_UP['erros'][$_FILES['arquivo']['error']]); exit; // Para a execução do script } // Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar // Faz a verificação da extensão do arquivo $extensao = strtolower(end(explode('.', $_FILES['arquivo']['name']))); if (array_search($extensao, $_UP['extensoes']) === false) { echo "Por favor, envie arquivos com as seguintes extensões: jpg, png ou gif"; } // Faz a verificação do tamanho do arquivo else if ($_UP['tamanho'] < $_FILES['arquivo']['size']) { echo "O arquivo enviado é muito grande, envie arquivos de até 2Mb."; } // O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta else { // Primeiro verifica se deve trocar o nome do arquivo if ($_UP['renomeia'] == true) { // Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg $nome_final = time().'.jpg'; } else { // Mantém o nome original do arquivo $nome_final = $_FILES['arquivo']['name']; } // Depois verifica se é possível mover o arquivo para a pasta escolhida if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) { // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo echo "Upload efetuado com sucesso!"; echo '<br /><a href="' . $_UP['pasta'] . $nome_final . '">Clique aqui para acessar o arquivo</a>'; } else { // Não foi possível fazer o upload, provavelmente a pasta está incorreta echo "Não foi possível enviar o arquivo, tente novamente"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 23, 2010 E agora? qual é o erro ? :huh: A idéia do ini_set, era colocar no início do script: ini_set('upload_tmp_dir','/tmp'); sendo /tmp a pasta temporária com permissão de escrita. vamos tentar trocar de estratégia? veja: http://forum.imasters.com.br/index.php?/topic/391792-upload-de-um-dominio-para-outro-ftp/page__view__findpost__p__1528296 um script bem simples para envio de arquivos, com autenticação FTP. Se continuar dando o erro 6, fale novamente com tua hospedagem, ou simplesmente troque para uma melhor. ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 26, 2010 array(1) { ["arquivo"]=> array(5) { ["name"]=> string(5) "1.bmp" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(6) ["size"]=> int(0) } } Warning: ftp_connect() [function.ftp-connect]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /export/nfs2/virtdom/jornaldeeventos.com.br/html/teste2.php on line 11 Não conectou em: "mysql5.br.inter.net:3306" Galera o que eu posso fazer ? apos esse resultado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 26, 2010 você configurou errado cara.. você colocou o link pro servidor do banco de dados.. deveria ser algo como: ftp.site.com.br lá no parâmetro server da função de conexão de ftp. Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Abril 29, 2010 O codigo esta assim; <?php if( $_SERVER['REQUEST_METHOD']=='POST' ) { var_dump( $_FILES );//apenas para debug $servidor = 'ftp.jornaldeeventos.com.br'; $caminho_absoluto = '/html/fotos/'; $arquivo = $_FILES['arquivo']; ini_set('upload_tmp_dir','/tmp'); $con_id = ftp_connect($servidor) or die( 'Não conectou em: '.$servidor ); ftp_login( $con_id, 'root@jornaldeeventos.com.br', 'senha' ); ftp_put( $con_id, $caminho_absoluto.$arquivo['name'], $arquivo['tmp_name'], FTP_BINARY ); } ?> O erro que ele dá é o seguinte array(1) { ["arquivo"]=> array(5) { ["name"]=> string(22) "Cópia de SDC11243.JPG" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(6) ["size"]=> int(0) } } è mais provável o problema ser no servidor? ou é algo na programação? pois de acordo com o que me passaram ate agora vejo que muitas pessoas testaram e deram certo no meu caso nao estou conseguindo meu servidor é a inter.net se tiver alguma sugestão de servidor melhor agradeço Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 3, 2010 O Bruno falou para você entrar em contato com a empresa de hospedagem. Você já fez isso? O que eles disseram. Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Maio 6, 2010 Falei sim ele disse que a pasta é default para todos os clientes Compartilhar este post Link para o post Compartilhar em outros sites
Klawztro 3 Denunciar post Postado Junho 2, 2010 Caras, alguém pode me ajudar? to com o mesmo erro tanto em safe_mode on como en safe_mode off, no on a pasta é /tmp Mas não ta funcionando nem de um jeito nem de outro. Compartilhar este post Link para o post Compartilhar em outros sites