-
Total de itens
244 -
Registro em
-
Última visita
Reputação
1 ComumSobre DinhoPHP
- Data de Nascimento 06/05/1982
Informações Pessoais
-
Sexo
Masculino
Últimos Visitantes
1585 visualizações
-
DinhoPHP começou a seguir Problemas ao enviar anexo com PHPMailer, Inserindo classe em função php, FORMULÁRIO COM ANEXO em PHP e e 3 outros
-
// UTILIZANDO CLASSE echo "<img src='fotos/".$row['foto']."' class='nome-da-classe' />"; // UTILIZANDO STYLE echo "<img src='fotos/".$row['foto']."' style='border: 2px solid #000000; border-radius: 3px;'/>" // UTILIZANDO BOOTSTRAP echo "<img src='fotos/".$row['foto']."' class='rounded' />"; // NESTE CASO, PRECISARÁ CHAMAR AS DEPENDÊNCIAS NO MÍNIMO VIA CDN // https://getbootstrap.com.br/docs/4.1/getting-started/introduction/
-
Entendido. Show! O importante é que conseguiu. Mas sempre gravei mesmo como citado pelo Williams, e acho até melhor, já que é padrão do banco.
-
<?php /* VOCÊ PRECISARÁ FAZER O DOWNLOAD DO PHPMAILER E INCLUÍ-LA NO NESTE ARQUIVO. SUGIRO TAMBÉM, DAR UMA ESTUDADA NA DOCUMENTAÇÃO DO MESMO. TUDO E ONDE BAIXAR EM: https://github.com/PHPMailer/PHPMailer */ // CAPTURANDO DADOS DO FORMULÁRIO ADD OS ISSET DO POST $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',($_POST['mensagem-curriculo']))); $ip = $_SERVER['REMOTE_ADDR']; $navegador = $_SERVER['HTTP_USER_AGENT']; $files = $_FILES["file"]; $file = $files; try{ // Inicia a classe PHPMailer $mail = new PHPMailer(true); // Define os dados do servidor e tipo de conexão // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= //$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Enable verbose debug output $mail->CharSet = "UTF-8"; $mail->setLanguage('br'); $mail->Host = "mail.host.com.br"; // Endereço do servidor SMTP $mail->Username = 'emaildahospedagem@host.com.br'; // Usuário do servidor SMTP $mail->Password = 'senha'; // Senha do servidor SMTP $mail->Port = 587; // SMTP 465 - IMAP 993 - 587 $mail->isSMTP(); $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional) $mail->SMTPSecure = 'tls'; //$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` $mail->Priority = 1; // Define o remetente // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->From = ("email@email.com.br"); // E-mail do usuário $mail->FromName = $nome; // Seu nome // Define os destinatário(s) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAddress($eemail); //$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta // Define os dados técnicos da Mensagem // =-=-=-=-=-=-=-=-=-=-=1-=-=-=-=-=-=-=-=-= $mail->IsHTML(); // Define que o e-mail será enviado como HTML // $mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional) // Define a mensagem (Texto e Assunto) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->Subject = $assunto; // Assunto da mensagem //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body // $mail->msgHTML(FILE_USE_require_once_ATH('contents.html', 1)); // CORPO DO EMAIL // FORMATO HTML $mail->Body = "<h4><p>Nome: {$nome}.<br><br>Email: {$eemail}<br><br>Telefone: {$telefone}.<br><br>Cidade: {$cidade}.<br><br>Assunto: {$assunto}.<br><br>Mensagem: {$mensagem}</p><p><h6><br>IP do remetente: {$ip}<br>Navegador do remetente: {$navegador}</h6></p></h4>"; // FORMATO SEM HTML $mail->AltBody = "Nome: {$nome}" . "\n" . "\n" . "Email: {$eemail}" . "\n" . "Telefone: {$telefone}" . "Cidade: {$cidade}" . "\n" . "Mensagem: {$mensagem}" . "\n" . "IP do remetente: {$ip}" . "\n" . "Navegador do remetente: {$navegador}"; // Define os anexos (opcional) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAttachment($file['tmp_name'], $file['name'], 'base64'); // Insere um anexo //print_r($_FILES);echo"<br>";print_r($files); // Envia o e-mail $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); $mail->ClearAttachments(); // FIM DO ENVIO DE EMAIL }catch (Exception $e) echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } ?> https://github.com/PHPMailer/PHPMailer Postei um código pq tive grandes e misteriosos problemas para anexar, mas consegui desta maneira. Tirei muitas adaptações que tinha, mas com isso você já consegue enviar com anexo.
-
Tem um bom tempo que fiz algo assim e se lembro bem, eu gravava normal e se precisasse mostrar a data no formato BR em uma página, eu fazia isso... <?php $date=date_create("2013-03-15"); echo date_format($date,"d/m/Y"); ?> Mas encontrei isso em um fórum e acredito que pode te ajudar. https://pt.stackoverflow.com/questions/17679/como-inserir-date-e-datetime-em-uma-tabela-no-mysql
-
Pessoal, tenho um código PHP que busca imagens em subpastas, porém gostaria de fazê-lo com que fosse carregado aos poucos pois são muitas fotos, tentei de ns maneiras entender o AJAX, mas não tive sucesso. Favor! Peço ajuda. loadAjax.php $dir = new DirectoryIterator( './images/portfolio/sem_categoria' ); // array contendo os diretórios permitidos $diretoriosPermitidos = array("portfolio","sem_categoria"); foreach($dir as $file) { // verifica se $file é diferente de '.' ou '..' if (!$file->isDot()) { // listando somente os diretórios if ( $file->isDir() ) { // atribui o nome do diretório a variável $dirName = $file->getFilename(); // subdiretórios $caminho = $file->getPathname(); // chamada da função de recursividade recursivo($caminho, $dirName); } // listando somente os arquivos do diretório if ( $file->isFile() ) { // atribui o nome do arquivo a variável $fileName = $file->getFilename(); // print //echo "Arquivos: ".$fileName."<br>"; } } } function recursivo( $caminho, $dirName ){ global $dirName; $DI = new DirectoryIterator( $caminho ); foreach ($DI as $file){ if (!$file->isDot()) { if ( $file->isFile() ) { // $fileName = $file->getFilename(); // //echo $dirName.": ".$fileName."<br>"; echo "<div class='col-12 col-sm-6 col-md-4 col-lg-3 mb-2 d-flex justify-content-center' alt=''> <a href='{$fileName}' class='fresco' data-fresco-group='example' data-fresco-caption='ARJ SERVICE'> <img class='eni-img-thumb' src='images/portfolio/sem_categoria/{$dirName}/{$fileName}'> </a> </div>"; } } } } Tentei adaptar o código abaixo as minhas necessidades, mas não consegui. <script> //variavel para controle de registros retornados var pagina = 0; var pesquisa = true; //function carrega function carrega(){ $('#loading').html("<img src='img/loader.gif'/> Carregando Feeds...").fadeIn('fast'); $.ajax({ type: "POST", url: "loadAjax.php", data: "page="+pagina,//variavel passada via post cache: false, success: function(html){ if(html){ $('#loading').fadeOut('fast'); $("#result").append(html); //mostra resultado na div result pesquisa = true; }else{ $('#loading').html("Fim da pesquisa...").fadeIn('fast'); pesquisa = false; } }, error:function(html){ $('#loading').html("erro...").fadeIn('fast'); } }); }; //chama minha funcao ao carregar a pagina $(document).ready(function(){ carrega(); }); //funcao de controle do scroll da pagina, na qual ela chega ao fim é acionada chamando //minha function carrega novamente para trazer mais dados dinamicamente $(window).scroll(function(){ if($(window).scrollTop() + $(window).height() >= $(document).height()){ pagina += 1; carrega(); }; }); </script>
-
Pois é! Mas sem má intenção e a mesma não foi. Acredito não ter culpa se todos os meus códigos salvos anteriormente com a classe resolveram parar de funcionar. Tive que fazer outra e fui com base no vídeo do canal UPINSIDE. Mas sem problemas! Nunca desisto e irei consegui ;) agradeço ao Guilherme e aos que tentaram me ajudar. Se verem a necessidade de fechar, assim o podem fazer. Vlw! E obrigado!
-
Muito obrigado, Guilherme. Mas quando eu estava criando este tópico, esqueci de editar partes da postagens e acabou ficando igual a do Stackoverflow (pois já havia postado lá). rsrs O problema é com ela mesmo, se passo os parâmetros manualmente ex: attach("pasta/arq.doc", "nome_para_o_arequivo")->send(); roda normal, porém, não com variável com conteúdo do campo file do html. Entendeu?
-
Estou tentando enviar um anexo e o mesmo não chega no email, apenas quando não faço uso da função attach. arquivo que contém as functions responsáveis pelo envio do email. public function attach(string $filePath, string $fileName): Email{ $this->data->attach[$filePath] = $fileName; return $this; } Arquivo que utiliza a função attach. No arquivo que captura os dados do formulário, já passei os parâmetros de tudo quanto é jeito. require __DIR__ . "/include/head.php"; require __DIR__ . "/vendor/autoload.php"; use Source\Support\Email; $email = new Email(); // CAPTURANDO DADOS DO FORMULÁRIO $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',("<pre>".$_POST['mensagem-curriculo']."</pre>"))); // $file_tmp = ($_FILES['file'], $_POST['name']); $files = $_FILES['curriculo']; $email->add($assunto, "<h3>Nome: {$nome}<br>{$files['name']}<br>Email: {$eemail}<br><br>Telefone: {$telefone}<br><br>Cidade: {$cidade}<br><br></br>Mensagem:<br>{$mensagem}</h3>", $nome, $eemail)->attach($files['tmp_name'], $files['name'])->send(); var_dump($files); A função attach que recebe dois parâmetros, quando utilizada, não envia o anexo vindo do form HTML, já digitando os parâmetros na função, ela envia o anexo. Já li até alguns casos semelhantes aqui mesmo e nada! Só envia o anexo digitando os parâmetros manualmente.