Guest User

Untitled

a guest
Oct 24th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. <html>
  2. <head>
  3. <title> Teste de imagem </title>
  4. </head>
  5. <body>
  6. <form action="banco/updateImage.php">
  7. <div class="form-group">
  8. <label for="exampleFormControlFile1">Adcione um arquivo de imagem</label>
  9. <input type="file" class="form-control-file" id="exampleFormControlFile1" name="image">
  10. </div>
  11. <div class="form-group">
  12. <button type="submit" class="btn btn-primary" style="margin-top: 22;">Buscar</button>
  13. </div>
  14. </form>
  15. <?
  16. class Image
  17. {
  18. public function save($image)
  19. {
  20. $name = time();
  21. $destination = "../formacao/img/" . $name . ".jpg";
  22. $result = move_uploaded_file($image['tmp_name'], $destination);
  23. return $result;
  24. }
  25. }
  26.  
  27. $image = $_FILE['image'];
  28.  
  29. $saveImage = new Image();
  30. $destinationImg = $saveImage->save($image);
  31. ?>
  32. </body>
  33. </html>
  34.  
  35. <?php
  36.  
  37. $image = $_POST['image'];
  38.  
  39. $strcon = mysqli_connect('localhost','root','', 'db_formacao') or die('Erro ao conectar ao banco de dados');
  40. $sql = "INSERT INTO imagens VALUES ('$image')";
  41. mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");
  42. mysqli_close($strcon);
  43.  
  44. echo '<script type="text/javascript">
  45. alert("Salvo com Sucesso !");
  46. window.history.go(-1);
  47. </script>';
  48. ?>
  49.  
  50. <?php
  51. // Incluindo arquivo de conexão
  52. require_once('../config/conn.php');
  53.  
  54. // Funções de utilidade
  55. require_once('../funcs/util.php');
  56.  
  57. // Constantes
  58. define('TAMANHO_MAXIMO', (2 * 1024 * 1024));
  59.  
  60. // Verificando se selecionou alguma imagem
  61. if (!isset($_FILES['foto']))
  62. {
  63. echo retorno('Selecione uma imagem');
  64. exit;
  65. }
  66.  
  67. // Recupera os dados dos campos
  68. $foto = $_FILES['foto'];
  69. $nome = $foto['name'];
  70. $tipo = $foto['type'];
  71. $tamanho = $foto['size'];
  72.  
  73. // Validações básicas
  74. // Formato
  75. if(!preg_match('/^image/(pjpeg|jpeg|png|gif|bmp)$/', $tipo))
  76. {
  77. echo retorno('Isso não é uma imagem válida');
  78. exit;
  79. }
  80.  
  81. // Tamanho
  82. if ($tamanho > TAMANHO_MAXIMO)
  83. {
  84. echo retorno('A imagem deve possuir no máximo 2 MB');
  85. exit;
  86. }
  87.  
  88. // Transformando foto em dados (binário)
  89. $conteudo = file_get_contents($foto['tmp_name']);
  90.  
  91. // Preparando comando
  92. $stmt = $pdo->prepare('INSERT INTO fotos (nome, conteudo, tipo, tamanho) VALUES (:nome, :conteudo, :tipo, :tamanho)');
  93.  
  94. // Definindo parâmetros
  95. $stmt->bindParam(':nome', $nome, PDO::PARAM_STR);
  96. $stmt->bindParam(':conteudo', $conteudo, PDO::PARAM_LOB);
  97. $stmt->bindParam(':tipo', $tipo, PDO::PARAM_STR);
  98. $stmt->bindParam(':tamanho', $tamanho, PDO::PARAM_INT);
  99.  
  100. // Executando e exibindo resultado
  101. echo ($stmt->execute()) ? retorno('Foto cadastrada com sucesso', true) : retorno($stmt->errorInfo());
Add Comment
Please, Sign In to add comment