Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom, estou tentando realizar o upload de imagens dinamicamente, essas imagens seriao inseridas no banco de dados para eu mostra-las uma por uma em outra sessao da pagina, pra isso criei uma pagina com as outras funções, eis o codigo que está na functions.php dentro do tema.
//funcao de upload
function upload($tmp, $nome, $largura, $pasta){
$img = imagecreatefromjpeg($tmp);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura*$y) / $x;
$nova = imagecreatetruecolor($largura, $altura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($nova, "$pasta/$nome");
imagedestroy($nova);
imagedestroy($img);
return($nome);
}
add_action('admin_menu', 'galeria');
function galeria(){
//adiciona o "slug" do menu
add_menu_page('Adicionar Imagens Galeria', 'Galeria', 'manage_options', 'galeria_img' );
//é a pagina de subemenu
//parametros: nome do menu parete, titulo que aparece, nome pra pagina, manage_options, 'esse será o primeiro a ser mostrado', funcao que mostra as coisas
add_submenu_page('my-menu', 'Submenu Page Title', 'Whatever You Want', 'manage_options', 'galeria_img', 'add_imgs' );
add_submenu_page('my-menu', 'Submenu Page Title2', 'Whatever You Want2', 'manage_options', 'galeria_img' );
}
function add_imgs(){
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("tf");
echo "<script type=\"text/javascript\">
function AddCampo(id){
el = document.getElementById(id);
el.innerHTML += '<label><span>Imagem </span></label><input type=\"file\" name=\"img[]\" /><br />';
}
</script>";
echo '<h1>Adicionar Imagens</h1>';
echo "<form method=\"post\" action=\"\" enctype=\"multipart/form-data\">
<fieldset>
<br />
<a href=\"#\" onclick=\"AddCampo('img-extra')\">Add Campo</a><br/>
<label>
<span>Imagem</span>
<input type=\"file\" name=\"img[]\" id=\"img\"/>
</label>
<div id=\"img-extra\">
</div>
<input type=\"submit\" class=\"btn\" value=\"Enviar\" />
<input type=\"hidden\" name=\"acao\" value=\"cadastrar\" />
</fieldset>
</form>";
if(isset($_POST['acao']) && $_POST['acao'] == 'cadastrar'){
$img = $_FILES['img'];
$pasta = 'imagens/galeria/';
$contar = count($img['name']);
//Variaveis de controle
$ok = 0;
$mysqlsucc = 0;
$mysqlerror = 0;
$erro = 0;
for($i = 0;$i < $contar;$i++){
$nome = $img['name'][$i];
$tmp = $img['tmp_name'][$i];
$ext = explode(".", $nome);
$nome_expl = $ext[0];
$extension = $ext[1];
if(!empty($nome)){
$name = md5(uniqid(rand(), true)).'.'.$extension;
$thumb = $name.'.thumb.'.$extension;
upload($tmp, $thumb, 100, $pasta);
if(move_uploaded_file($tmp, $pasta.$name)){
$ok++;
}else{
$erro++;
}
}
}
} echo 'arquivos enviados com sucesso:'.$ok.'<br/>';
echo 'arquivos nao enviados:'.$erro;
}
}
Ele mostra de fato toda o formulario, na hora que peço pra fazer o upload, ele mostra as seguintes mensagens:
obs: estou rodando ele em linux, todas as pastas e subpastas do wordpress estao com 777 justamente pra esse teste, sei que em servidor eu nao posso rodar dessa maneira.
Warning: imagejpeg(imagens/galeria//56a09fd73b2b63064c989a74cc83509f.jpg.thumb.jpg): failed to open stream: No such file or directory in /opt/lampp/htdocs/TFUNICAMP/wordpress/wp-content/themes/Meu tema/functions.php on line 9
Warning: move_uploaded_file(imagens/galeria/56a09fd73b2b63064c989a74cc83509f.jpg): failed to open stream: No such file or directory in /opt/lampp/htdocs/TFUNICAMP/wordpress/wp-content/themes/Meu tema/functions.php on line 205
Warning: move_uploaded_file(): Unable to move '/tmp/php5UdPER' to 'imagens/galeria/56a09fd73b2b63064c989a74cc83509f.jpg' in /opt/lampp/htdocs/TFUNICAMP/wordpress/wp-content/themes/Meu tema/functions.php on line 205
pode ser algo mais alem de erro de permissao?
Carregando comentários...