Stack Overflow em Português Asked by Wagner Viana on November 5, 2021
Eu tenho o seguinte código:
<?php
if(isset($_FILES['files'])){
$errors = array();
foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size = $_FILES['files']['size'][$key];
$file_tmp = $_FILES['files']['tmp_name'][$key];
$file_type = $_FILES['files']['type'][$key];
$file_parts = pathinfo($file_name);//Returns an associative array containing file information
$extensions = array("jpeg","jpg","png");//Allowed file
if($file_size > 2097152){
echo 'Tamanho do arquivo de ser menor que 2MB';
}else{
if(in_array ($file_parts['extension'],$extensions)){
//Rename file
$file_parts = ".".$file_parts['extension'];
$file_name = uniqid().$file_parts;
if(empty($errors)==true){
//Move the file to a specific folder
move_uploaded_file($file_tmp, "img/".$file_name);
}else{
print_r($errors);
}//if(empty($errors)==true){
}else{
echo'Extensão não permitida';
}//if(in_array ($file_parts['extension'],$extensions))
}//if($file_size > 2097152){
if(empty($errors)){
print_r("<pre>".$file_name."</pre>");
}//if(empty($errors))
}//foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name)
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Upload</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Minha dúvida é, o que é melhor, fazer criar uma tabela no banco de dados para as imagens, assim quando eu precisa dessas imagens em algum formulário faço interação um para muitos, ou transformar o array em uma string?
Será que tem outra solução também?
Eu salvaria tudo num JSON, muito mais rápido a leitura e você pode inserir keys pra vincular a registros também...ficando a seu critério, mas a princípio apenas savaria no JSON mesmo:
$file = "img/images.json";
$json = json_decode(file_get_contents($file), true);
array_push($json, $file_name);
file_put_contents($file, json_encode($json));
Como neste exemplo, o json pode até ficar no mesmo diretório que as imagens, você pode incrementar outras informações da imagem que se fizer necessário no array também...
Answered by Kenny Rafael on November 5, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP