laisf 0 Denunciar post Postado Setembro 14, 2015 Oi pessoal, entendo pouco de php e queria saber se alguem pode me ajudar. Estou com um sistema de envio de arquivos ftp e queria fazer com que toda vez que alguem enviasse um arquivo atraves do formulario, me enviasse tbm um email para avisar que recebi um arquivo. Como posso fazer isso?Segue o codigo: <?php if (isset( $_FILES['arquivo'])) { // Configura o tempo limite para ilimitado set_time_limit(0); /*-----------------------------------------------------------------------------* * Parte 1: Configurações do Envio de arquivos via FTP com PHP /*----------------------------------------------------------------------------*/ // IP do Servidor FTP $servidor_ftp = 'servidor'; // Usuário e senha para o servidor FTP $usuario_ftp = 'login'; $senha_ftp = 'senha'; // Extensões de arquivos permitidas $extensoes_autorizadas = array( '.cdr', '.jpg', '.mp3', '.mkv', '.txt' ); // Caminho da pasta FTP $caminho = 'arquivos/'; /* Se quiser limitar o tamanho dos arquivo, basta colocar o tamanho máximo em bytes. Zero é ilimitado */ $limitar_tamanho = 0; /* Qualquer valor diferente de 0 (zero) ou false, permite que o arquivo seja sobrescrito */ $sobrescrever = 0; /*-----------------------------------------------------------------------------* * Parte 2: Configurações do arquivo /*----------------------------------------------------------------------------*/ // Verifica se o arquivo não foi enviado. Se não; termina o script. if ( ! isset( $_FILES['arquivo'] ) ) { exit('Nenhum arquivo enviado!'); } // Aqui o arquivo foi enviado e vamos configurar suas variáveis $arquivo = $_FILES['arquivo']; // Nome do arquivo enviado $nome_arquivo = $arquivo['name']; // Tamanho do arquivo enviado $tamanho_arquivo = $arquivo['size']; // Nome do arquivo temporário $arquivo_temp = $arquivo['tmp_name']; // Extensão do arquivo enviado $extensao_arquivo = strrchr( $nome_arquivo, '.' ); // O destino para qual o arquivo será enviado $destino = $caminho . $nome_arquivo; /*-----------------------------------------------------------------------------* * Parte 3: Verificações do arquivo enviado /*----------------------------------------------------------------------------*/ /* Se a variável $sobrescrever não estiver configurada, assumimos que não podemos sobrescrever o arquivo. Então verificamos se o arquivo existe. Se existir; terminamos aqui. */ if ( ! $sobrescrever && file_exists( $destino ) ) { exit('Arquivo já existe.'); } /* Se a variável $limitar_tamanho tiver valor e o tamanho do arquivo enviado for maior do que o tamanho limite, terminado aqui. */ if ( $limitar_tamanho && $limitar_tamanho < $tamanho_arquivo ) { exit('Arquivo muito grande.'); } /* Se as $extensoes_autorizadas não estiverem vazias e a extensão do arquivo não estiver entre as extensões autorizadas, terminamos aqui. */ if ( ! empty( $extensoes_autorizadas ) && ! in_array( $extensao_arquivo, $extensoes_autorizadas ) ) { exit('Tipo de arquivo não permitido.'); } /*-----------------------------------------------------------------------------* * Parte 4: Conexão FTP /*----------------------------------------------------------------------------*/ // Realiza a conexão $conexao_ftp = ftp_connect( $servidor_ftp ); // Tenta fazer login $login_ftp = @ftp_login( $conexao_ftp, $usuario_ftp, $senha_ftp ); // Se não conseguir fazer login, termina aqui if ( ! $login_ftp ) { exit('Usuário ou senha FTP incorretos.'); } // Envia o arquivo if ( @ftp_put( $conexao_ftp, $destino, $arquivo_temp, FTP_BINARY ) ) { // Se for enviado, mostra essa mensagem echo 'Arquivo enviado com sucesso!'; } else { // Se não for enviado, mostra essa mensagem echo 'Erro ao enviar arquivo!'; } // Fecha a conexão FTP ftp_close( $conexao_ftp ); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 14, 2015 Dentro do if do ftp_put (onde está 'echo 'Arquivo enviado com sucesso!';'), você precisa fazer o envio do email Recomendo usar o PHPMailer para isso Compartilhar este post Link para o post Compartilhar em outros sites
Renato Lima dba 8 Denunciar post Postado Setembro 14, 2015 Boa Tarde E só vc seguir a dica que o Beraldo passou, tenho o código de envio do e-mail pronto vc pode pega-lo e adequar a sua necessidade. <?php /*Variaveis do Formulario*/ $nome = trim($_POST['nome']);/*recebe os dados digitados no campo "nome"*/ $empresa = trim($_POST['empresa']); /*recebe os dados digitados no campo "empresa"*/ $telefone = trim($_POST['telefone']);/* recebe os dados digitados no campo "telefone"*/ $email = trim($_POST['email']);/*recebe os dados digitados no campo "email"*/ $assunto_user = trim($_POST['assunto']);/*recebe os dados digitados no campo "assunto"*/ $conheceu = trim($_POST['com']);/*recebe os dados digitados no campo "com"*/ $mensagem = trim($_POST['mensagem']);/*recebe os dados digitados no campo "mensagem"*/ $enviar = $_POST['enviar'];/*Botão enviar*/ /*variavel que contará os erros*/ $erros = 1; /*transforma em variavel global, a variã¡vel email*/ global $email; if($enviar)/*Se o botão enviar for pressionado, faça...*/ { /*Verifica campo "nome" vazio*/ if($nome == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O campo nome está vazio.')"; echo "</script>"; } elseif(is_numeric($nome))/*verifica se foi digitado número no campo*/ { $erros++; echo"<script type='text/javascript'>"; echo "alert('O você digitou numeros no campo nome.')"; echo "</script>";; } /*Verifica campo "email" vazio*/ if($email == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo email está vazio')"; echo "</script>"; } /*Verifica campo "email" vazio*/ if($conheceu == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo como nos conheceu está vazio.')"; echo "</script>"; } /*Verifica campo "assunto" vazio*/ if($assunto_user == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo assunto está vazio.')"; echo "</script>"; } /*Verifica campo mensagem vazio*/ if($mensagem == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo mensagem está vazio')"; echo "</script>"; } /*verifica email, se digitado incorretamente*/ $email = str_replace (" ", "", $email); $email = str_replace ("/", "", $email); $email = str_replace ("@.", "@", $email); $email = str_replace (".@", "@", $email); $email = str_replace (",", ".", $email); $email = str_replace (";", ".", $email); if(strlen($email)<8 || substr_count($email, "@")!=1 || substr_count($email, ".")==0) { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Por favor, digite seu e-mail corretamente.')"; echo "</script>"; } if($erros <= 1)/*se não tiver algum erro continuara abaixo, se tiver é exibido as messagens configuradas acima*/ { /*Configuramos o e-mail para o qual serão enviadas as informações*/ $seuemail = "seuemail@seudominio.com.br";/*email de destino*/ $assunto = "envio do site";/*assunto padrão do email(não o digitado pelo úsuario)*/ /*Configuramos os cabeçalhos do e-mail*/ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n";/*para o envio com formatação HTML. Charset po ser iso-8859-1 também*/ $headers .= "From: $seuemail \r\n";/*Para "seu email"*/ /*Configuramos o conteúdo do e-mail*/ $conteudo = "<strong>Nome:</strong> $nome<br />";/*vai para o seu email o que foi digitado no campo "nome"*/ $conteudo .= "<strong>Empresa:</strong> $empresa<br />";/*vai para o seu email o que foi digitado no campo "empresa"*/ $conteudo .= "<strong>Telefone:</strong> $email<br />";/*vai para o seu email o que foi digitado no campo "email"*/ $conteudo .= "<strong>Email:</strong> $telefone<br />";/*vai para o seu email o que foi digitado no campo "telefone"*/ $conteudo .= "<strong>Assunto:</strong> $assunto_user<br />";/*vai para o seu email o que foi digitado no campo "assunto"*/ $conteudo .= "<strong>Como nos conheceu!:</strong>$conheceu<br />";/*vai para o seu email o que foi digitado no campo "com"*/ $conteudo .= "<strong>Mensagem:</strong> $mensagem<br />";/*vai para o seu email o que foi digitado no campo "mensagem"*/ /*Enviando o e-mail...*/ $enviando = mail($seuemail, $assunto, $conteudo, $headers); /*verifica se o e-mail foi enviado com sucesso*/ if($enviando) { echo"<script type='text/javascript'>"; echo "alert('Mensagem enviada com sucesso!Embreve entraremos em contato.')"; echo "</script>"; } else{/*seu ouve algum erro...*/ echo"<script type='text/javascript'>"; echo "alert('$nome Ouve um erro no envio, desculpe-nos pelo transtorno!!!.')"; echo "</script>"; } } } ?> Espero ter ajudado e se ajudei não esqueça de marca como útil. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
laisf 0 Denunciar post Postado Setembro 15, 2015 Dentro do if do ftp_put (onde está 'echo 'Arquivo enviado com sucesso!';'), você precisa fazer o envio do email Recomendo usar o PHPMailer para isso Isso, o problema é que não sei como inserir o envio do email ai dentro. O que eu queria é bem simples, ele não vai pegar dados do formulario, apenas enviar o texto:"Voce recebeu um arquivo do site." para determinado email, assim que o usuário enviar um arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
laisf 0 Denunciar post Postado Setembro 15, 2015 Boa Tarde E só você seguir a dica que o Beraldo passou, tenho o código de envio do e-mail pronto você pode pega-lo e adequar a sua necessidade. <?php /*Variaveis do Formulario*/ $nome = trim($_POST['nome']);/*recebe os dados digitados no campo "nome"*/ $empresa = trim($_POST['empresa']); /*recebe os dados digitados no campo "empresa"*/ $telefone = trim($_POST['telefone']);/* recebe os dados digitados no campo "telefone"*/ $email = trim($_POST['email']);/*recebe os dados digitados no campo "email"*/ $assunto_user = trim($_POST['assunto']);/*recebe os dados digitados no campo "assunto"*/ $conheceu = trim($_POST['com']);/*recebe os dados digitados no campo "com"*/ $mensagem = trim($_POST['mensagem']);/*recebe os dados digitados no campo "mensagem"*/ $enviar = $_POST['enviar'];/*Botão enviar*/ /*variavel que contará os erros*/ $erros = 1; /*transforma em variavel global, a variã¡vel email*/ global $email; if($enviar)/*Se o botão enviar for pressionado, faça...*/ { /*Verifica campo "nome" vazio*/ if($nome == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O campo nome está vazio.')"; echo "</script>"; } elseif(is_numeric($nome))/*verifica se foi digitado número no campo*/ { $erros++; echo"<script type='text/javascript'>"; echo "alert('O você digitou numeros no campo nome.')"; echo "</script>";; } /*Verifica campo "email" vazio*/ if($email == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo email está vazio')"; echo "</script>"; } /*Verifica campo "email" vazio*/ if($conheceu == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo como nos conheceu está vazio.')"; echo "</script>"; } /*Verifica campo "assunto" vazio*/ if($assunto_user == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo assunto está vazio.')"; echo "</script>"; } /*Verifica campo mensagem vazio*/ if($mensagem == "") { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Campo mensagem está vazio')"; echo "</script>"; } /*verifica email, se digitado incorretamente*/ $email = str_replace (" ", "", $email); $email = str_replace ("/", "", $email); $email = str_replace ("@.", "@", $email); $email = str_replace (".@", "@", $email); $email = str_replace (",", ".", $email); $email = str_replace (";", ".", $email); if(strlen($email)<8 || substr_count($email, "@")!=1 || substr_count($email, ".")==0) { $erros++; echo"<script type='text/javascript'>"; echo "alert('O Por favor, digite seu e-mail corretamente.')"; echo "</script>"; } if($erros <= 1)/*se não tiver algum erro continuara abaixo, se tiver é exibido as messagens configuradas acima*/ { /*Configuramos o e-mail para o qual serão enviadas as informações*/ $seuemail = "seuemail@seudominio.com.br";/*email de destino*/ $assunto = "envio do site";/*assunto padrão do email(não o digitado pelo úsuario)*/ /*Configuramos os cabeçalhos do e-mail*/ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n";/*para o envio com formatação HTML. Charset po ser iso-8859-1 também*/ $headers .= "From: $seuemail \r\n";/*Para "seu email"*/ /*Configuramos o conteúdo do e-mail*/ $conteudo = "<strong>Nome:</strong> $nome<br />";/*vai para o seu email o que foi digitado no campo "nome"*/ $conteudo .= "<strong>Empresa:</strong> $empresa<br />";/*vai para o seu email o que foi digitado no campo "empresa"*/ $conteudo .= "<strong>Telefone:</strong> $email<br />";/*vai para o seu email o que foi digitado no campo "email"*/ $conteudo .= "<strong>Email:</strong> $telefone<br />";/*vai para o seu email o que foi digitado no campo "telefone"*/ $conteudo .= "<strong>Assunto:</strong> $assunto_user<br />";/*vai para o seu email o que foi digitado no campo "assunto"*/ $conteudo .= "<strong>Como nos conheceu!:</strong>$conheceu<br />";/*vai para o seu email o que foi digitado no campo "com"*/ $conteudo .= "<strong>Mensagem:</strong> $mensagem<br />";/*vai para o seu email o que foi digitado no campo "mensagem"*/ /*Enviando o e-mail...*/ $enviando = mail($seuemail, $assunto, $conteudo, $headers); /*verifica se o e-mail foi enviado com sucesso*/ if($enviando) { echo"<script type='text/javascript'>"; echo "alert('Mensagem enviada com sucesso!Embreve entraremos em contato.')"; echo "</script>"; } else{/*seu ouve algum erro...*/ echo"<script type='text/javascript'>"; echo "alert('$nome Ouve um erro no envio, desculpe-nos pelo transtorno!!!.')"; echo "</script>"; } } } ?> Espero ter ajudado e se ajudei não esqueça de marca como útil. Abraços Obrigado pelo codigo, o problema é que como entendo pouco de php não consigo adaptar para minha necessidade. Tenho um codigo pronto de email aqui tbm mas normalmente eles pegam os dados do formulario e no meu caso nao teria formulario. Queria apenas receber uma mensagem tipo: "vc recebeu um arquivo do site" em determinado email, assim que o usuário enviasse algum arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 15, 2015 Você quer aprender a fazer ou quer alguém que faça isso pra você? Se for o primeiro caso, tente fazer e poste suas dúvidas. Vamos ajudar conforme possível Se for o segundo, contrate um profissional Compartilhar este post Link para o post Compartilhar em outros sites
laisf 0 Denunciar post Postado Setembro 16, 2015 Você quer aprender a fazer ou quer alguém que faça isso pra você? Se for o primeiro caso, tente fazer e poste suas dúvidas. Vamos ajudar conforme possível Se for o segundo, contrate um profissional Quero aprender, antes de postar aqui eu tentei com um codigo de formulario que uso mas não consegui por isso vim pedir ajuda, nao quero que ninguem faça so queria que alguem me desse uma luz de como tenho que fazer sem usar formulario Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 16, 2015 Você viu o link que mandei sobre o PHPMailer? É aquilo que você vai colocar dentro do if Dentro do if você começa: $PHPMailer = new PHPMailer; // ... if ($PHPMailer->Send()) { // ... } comece tentando fazer isso Compartilhar este post Link para o post Compartilhar em outros sites
Osmar L Lima 51 Denunciar post Postado Setembro 16, 2015 A lógica do negócio é o seguinte: Caso o arquivo for enviado com sucesso (FTP), você pega o path do arquivo enviado, inclui a lib do PHPMailer, anexa o arquivo e envia. Exemplo: http://blog.thiagobelem.net/enviar-e-mails-pelo-php-usando-o-phpmailer/ Compartilhar este post Link para o post Compartilhar em outros sites
laisf 0 Denunciar post Postado Setembro 16, 2015 A lógica do negócio é o seguinte: Caso o arquivo for enviado com sucesso (FTP), você pega o path do arquivo enviado, inclui a lib do PHPMailer, anexa o arquivo e envia. Exemplo: http://blog.thiagobelem.net/enviar-e-mails-pelo-php-usando-o-phpmailer/ Você viu o link que mandei sobre o PHPMailer? É aquilo que você vai colocar dentro do if Dentro do if você começa: $PHPMailer = new PHPMailer; // ... if ($PHPMailer->Send()) { // ... } comece tentando fazer isso Obrigado pelas dicas, consegui da seguinte forma: if ( @ftp_put( $conexao_ftp, $destino, $arquivo_temp, FTP_BINARY ) ) { // Se for enviado, mostra essa mensagem echo 'Enviado com sucesso!'; mail ("email@email.com", "arquivo site", "vc recebeu um arquivo do site", "From: email@email.com.br"); } else { // Se não for enviado, mostra essa mensagem echo 'Erro ao enviar arquivo!'; } Compartilhar este post Link para o post Compartilhar em outros sites