1
I have a function in PHP to add a thumbnail image as a course cover on my website, regardless of the image having the right requirements, is returned the message:
Thumbnail image exceeds the maximum size of 1MB allowed.
I wonder what’s wrong with the code below:
function usuarios_cursos_miniatura_atualiza()
{
if ($this->site_model->checa_logado_usuario()) {
$data = str_replace('"', "'", $_POST);
$info['list8'] = $this->site_model->checa_logado_usuario();
$data['usuarios_id_fk'] = $info['list8']['usuarios_id'];
$data['cedoc_doc_id_fk'] = $this->site_model->dono_curso($data['usuarios_id_fk'], $data['cedoc_doc_id_fk']);
if ($data['cedoc_doc_id_fk']) {
if ($_FILES['imagem']['name'] <> NULL) {
$file_name = $_FILES['imagem']['name'];
$file_extension = explode(".", $file_name);
$file_extension = $file_extension[count($file_extension) - 1];
$file_extension = strtolower($file_extension);
if (($file_extension == 'jpg') || ($file_extension == 'jpeg') || ($file_extension == 'png') || ($file_extension == 'gif')) {
// FAZ UPLOAD DA IMAGEM
$config['upload_path'] = './uploads/_images/cedoc_doc_' . $data['cedoc_doc_id_fk'];
$config['max_size'] = '1000';
$config['max_width'] = '0';
$config['max_height'] = '0';
$this->load->library('upload', $config);
$_FILES['imagem']['name'] = 'img' . $data['cedoc_doc_id_fk'] . '_' . $this->super_model->genRandomString() . '.' . $file_extension;
if ($this->upload->do_upload('imagem')) {
$file_name = $this->upload->file_name;
// REDIMENCIONA
$this->load->library('image_lib');
$config['source_image'] = $config['upload_path'] . "/$file_name";
$config['new_image'] = $config['upload_path'] . "/$file_name";
$config['maintain_ratio'] = TRUE;
$config['width'] = 800;
$config['height'] = 600;
$this->image_lib->initialize($config);
$this->image_lib->resize();
$this->image_lib->clear();
// THUMB
$this->load->library('image_lib');
$config['source_image'] = $config['upload_path'] . "/$file_name";
$config['new_image'] = "./uploads/_thumb/cedoc_doc_" . $data['cedoc_doc_id_fk'] . "/" . $file_name;
$config['maintain_ratio'] = TRUE;
$config['width'] = 800;
$config['height'] = 600;
$this->image_lib->initialize($config);
$this->image_lib->resize();
$this->image_lib->clear();
unlink("./uploads/_images/cedoc_doc_" . $data['cedoc_doc_id_fk'] . "/" . $file_name);
$this->site_model->cursos_imagem_miniatura_upload('cedoc_doc_' . $data['cedoc_doc_id_fk'] . '/' . $file_name, $data['cedoc_doc_id_fk']);
$this->site_model->despublica_curso($data['cedoc_doc_id_fk'], $data['usuarios_id_fk']);
$this->enviar_email_mensagem('Nova imagem de miniatura no curso ' . $data['nome'], 'O curso ' . $data['nome'] . ' codigo ' . $data['cedoc_doc_id_fk'] . ' recebeu uma nova imagem de miniatura pelo usuario ' . $info['list8']['nome'] . ' cod ' . $info['list8']['usuarios_id'] . '.<br /> Acesse o painel de controle para aprovar ou nao esta atualizacao clicando no link abaixo:<br /><br /> <a href=' . base_url() . 'cursos/cursos_busca/' . $data['cedoc_doc_id_fk'] . '>' . base_url() . 'cursos/cursos_busca/' . $data['cedoc_doc_id_fk'] . '</a>', '[email protected]');
redirect('site/usuarios_cursos/' . $data['cedoc_doc_id_fk'] . '/Imagem miniatura do curso atualizada. Seu curso entrou na fila de publicacao. Voce sera informado via e-mail assim que for publicado ');
}
else {
redirect('site/usuarios_cursos/' . $data['cedoc_doc_id_fk'] . '/Imagem de miniatura excede o tamanho maximo de 1MB permitido.');
}
}
else {
redirect('site/usuarios_cursos/' . $data['cedoc_doc_id_fk'] . '/Formato de imagem invalido (somente jpg, jpeg, png ou gif)');
}
}
else {
redirect('site/area_usuario');
}
}
else {
redirect('site/area_usuario');
}
}
else {
redirect('site/area_usuario');
}
}
View
<?php
include ("site_header.php");
?>
<div align="center" style="margin-top:0px;">
<div id="info" name="info_frame" allowtransparency="TRUE" style="background-color:transparent;">
<div class="fundotransp" style="background-color:#eee;padding:10px;margin:10px;margin-top:0px;margin-left:0px;border:2px solid white;">
<?php
include ("site_meu_usuario_header.php");
?>
<div align="center" class="tarja" style="font-size:18px;margin-top:10px;">Cursos Cadastrados</div>
<script>
function redireciona_curso(valor)
{
url="<?php
echo base_url(); ?>site/usuarios_cursos/"+valor;
window.location = url;
}
function valida_miniatura(form)
{
var alerta = '';
if (!document.getElementById('imagem').value)
{
alerta += '\n - Clique em procurar e selecione uma imagem no seu computador';
document.getElementById('imagem').style.backgroundColor="#c0c0c0";
}
if (alerta=='')
{
desativa_botao('botao_confirma');
return true;
}
else
{
alert('Campos requeridos: '+alerta);
return false;
}
}
</script>
<?php
$i = 0;
echo '<div align=center class=texto style=padding:10px;>';
if ($list2 != NULL) {
echo "<span id=resultado_busca>Mostrando de <b>" . ($pagina + 1) . "</b> a <b>";
if ($pagina + $per_page > $total_rows) {
echo $total_rows;
}
else {
echo $pagina + $per_page;
}
echo "</b> de <b>" . $total_rows . "</b> cursos cadastrados.<br />";
}
echo '</div>';
echo "<div align=center class=texto style=margin-top:10px;margin-bottom:10px;>";
echo "Acesso rápido a seus cursos: ";
?>
<select onChange="redireciona_curso(this.value)" style="width:800px;overflow:hidden;text-align:center;">
<option value="" selected="selected"></option>
<?php
foreach($cursos_todos as $cursos) {
?>
<option value="<?php
echo $cursos->cedoc_doc_id_fk; ?>" <?php
if (isset($list2[0])) {
if ($list2[0]->cedoc_doc_id_fk == $cursos->cedoc_doc_id_fk) {
echo 'selected';
}
} ?>><?php
echo $cursos->nome; ?> (<?php
echo $cursos->CCCat; ?> / <?php
echo $cursos->CCSubCat; ?> <?php
if ($cursos->CDestaque == 'Sim') {
echo ' / Destaque';
} ?> Cód. <?php
echo $cursos->cedoc_doc_id_fk; ?>)</option>
<?php
}
?>
</select>
<?php
echo "</div>";
if (isset($list2)) {
if ($list2 != Null) {
?>
<div align="left" class="tarja" style="font-size:18px;"> Curso:</div>
<?php
echo "<table align=center class=texto>";
foreach($list2 as $item2) {
echo "<tr id=$i" . 'tr' . " class=tr_content onmouseover=tr_over($i) onmouseout=tr_out($i)>";
echo "<td align=center style=width:200px;cursor:pointer;padding:10px;text-align:center;background-color:white;>";
if (isset($capa[0]->caminho)) {
?>
<div align="center" style="padding:6px;background-color:f2f2f2;border:1px solid #d9dde2;vertical-align:bottom;width:240px;">
<div>
<div style="position:relative;">
<div style="overflow:hidden;width:240px;height:145px;">
<img src="<?php
echo base_url(); ?>uploads/_thumb/<?php
echo $capa[0]->caminho; ?>" width="240px;" align="left" />
</div>
</div>
</div>
</div>
</div>
<?php
}
echo form_open_multipart('site/usuarios_cursos_miniatura_atualiza', $form);
?>
<div style="margin-bottom:5px;">
<input type="file" name="imagem" id="imagem" />
</div>
<div>
<input type="hidden" name="cedoc_doc_id_fk" value="<?php
echo $item2->cedoc_doc_id_fk; ?>" />
<input type="hidden" name="nome" value="<?php
echo $item2->nome; ?>" />
<input type="submit" value="Atualizar Imagem Miniatura" class="botao" id="botao_confirma" onClick='return valida_miniatura(form);' />
</div>
</form>
<?php
echo "<div style=font-size:12px;color:#003366;>";
?>
<a target="_blank" href="<?php
echo base_url(); ?>site/arquivos_busca/_/<?php
echo $item2->CCSubCat; ?>/0000-00-00/0000-00-00">
<?php
echo "$item2->CCCat / $item2->CCSubCat";
?>
</a>
<?php
echo "</div>";
echo "<div style=font-size:10px;color:#666666;>Cadastro em " . date("d/m/Y", strtotime($item2->data_criacao)) . "</div></div></td>";
echo "<td style=width:500px;cursor:pointer;padding:10px;>";
echo "<div style=font-size:13px;>Cód. $item2->cedoc_doc_id_fk</div>";
echo "<div style=font-weight:bold;font-size:20px;color:#cf0000;margin-bottom:11px;>$item2->nome</div>";
echo "<div style=line-height:21px;><b>Visualizado </b> " . $item2->CVisitas . " vez";
if ($item2->CVisitas <> 1) {
echo 'es';
}
echo "</div>";
echo "<div style=line-height:21px;><b>Carga horária:</b> " . $item2->carga_horaria . " hora";
if ($item2->carga_horaria <> 1) {
echo 's';
};
echo "</div><br />";
if ($item2->publicoalvo) {
echo "<div style=line-height:21px;><b>Público-alvo:</b> " . strip_tags(substr($item2->publicoalvo, 0, 120)) . " ...</div><br />";
}
if ($item2->objetivo) {
echo "<div style=line-height:21px;><b>Objetivo:</b> " . strip_tags(substr($item2->objetivo, 0, 120)) . " ...</div><br />";
}
if ($item2->apresentacao) {
echo "<div style=line-height:21px;><b>Apresentação:</b> " . strip_tags(substr($item2->apresentacao, 0, 120)) . " ...</div><br />";
}
echo "</td>";
echo "<td style=width:160px;cursor:pointer;>";
?>
<div class="site_medium_title" style="padding:5px;padding-bottom:0px;"><a target="_blank" style="color:black;" href="<?php
echo base_url(); ?>site/arquivo/<?php
echo $item2->cedoc_doc_id_fk; ?>/<?php
echo url_title2($item2->CCCat); ?>/<?php
echo url_title2($item2->CCSubCat); ?>/<?php
echo url_title($item2->nome); ?>" title="Visualizar <?php
echo $item2->nome; ?>">- Visualizar na Loja</a> </div>
<div class="site_medium_title" style="padding:5px;padding-bottom:0px;"><a target="_blank" style="color:black;" href="<?php
echo base_url(); ?>site/usuarios_cursos_previa_visualizar_dono/<?php
echo $item2->cedoc_doc_id_fk; ?>" title="Veja como está ficando">- Visualizar Prévia</a> </div>
<div class="site_medium_title" style="padding:5px;padding-bottom:0px;width:200px;"> <a title="Editar informacoes gerais do curso" style="color:#000000;" href="<?php
echo base_url(); ?>site/usuarios_cursos_atualizar/<?php
echo $item2->cedoc_doc_id_fk; ?>" title="Editar informacoes gerais do curso">- Editar informações gerais </a> </div>
<div class="site_medium_title" style="padding:5px;padding-bottom:0px;width:200px;"> <a title="Inserir aulas" style="color:#000000;" href="<?php
echo base_url(); ?>site/usuarios_cursos_aulas/<?php
echo $item2->cedoc_doc_id_fk; ?>" title="Inserir aulas no curso">- Inserir Aulas (<?php
echo $quant_aulas; ?>)</a> </div>
<?php
echo "</td>";
echo "</tr>";
$i++;
}
echo "</table>";
}
else {
echo "<div class=texto align=center style=margin:10px;>* Seu usuario ainda não cadastrou nenhum curso.</div>";
}
}
?>
</div>
</div>
</div>
<?php
include ("site_footer.php");
?>
You should separate this code into smaller and more specific functions. It improves readability and makes it easier to understand what’s going on. Those
ifs
nested are complicated to understand.– George Marques
I didn’t develop it.
– Raphael Cordeiro
Yes, it’s in the picture.
– Raphael Cordeiro
I think your problem is here:
$config['max_size'] = '1000';
. Switch to x or take it out of this line to make it unlimited. I don’t know much about php. But I think that’s it.– fsi