Estoy desarrollando un plugin para wordpress. Bueno dejando de lado para que sistema sea, lo importante de esto es que da la opción de subir archivos a internet, más bien fotos. El problema que tengo es que me sale el siguiente error:
Warning: copy(../wp-content/plugins/wp-participa/imguploads/futurama.jpg) [function.copy]: failed to open stream: No such file or directory in /usr/share/wordpress/www.bravoporti.com/wp-content/plugins/wp-participa/contenido_participaBravo.php on line 184
He leído que puede ser que el servidor tenga capada la carpeta temporal, pero me resulta raro porque hace un tiempo, no mucho, hice otro plugin el cual necesitaba subir imágenes si o si y no tengo ningún problema con él. Es más, ahora lo uso y no me da ningún tipo de problema.
Les dejo el código por si les puede aclarar algo:
Código PHP:
<?php
if(!isset($_REQUEST['formu_hidden']) && $_REQUEST['formu_hidden'] != 1){
$tema = array("Ríe", "Terror", "Tus historias", "Tu espacio", "Tierra Trágame (TT)", "Tus Sugerencias");
$provincias = array("Álava", "Albacete", "Alicante", "Almería", "Asturias", "Ávila", "Badajoz", "Barcelona", "Burgos", "Cáceres", "Cádiz", "Cantabria", "Castellón", "Ceuta", "Ciudad Real", "Córdoba", "Cuenca", "Girona", "Granada", "Guadalajara", "Guipúzcoa", "Huelva", "Huesca", "Islas Baleares", "Jaén", "La Coruña", "La Rioja", "Las Palmas", "León", "Lleida", "Lugo", "Madrid", "Málaga", "Melilla", "Murcia", "Navarra", "Orense", "Palencia", "Pontevedra", "Salamanca", "Santa Cruz de Tenerife", "Segovia", "Sevilla", "Soria", "Tarragona", "Teruel", "Toledo", "Valencia", "Valladolid", "Vizcaya", "Zamora", "Zaragoza");
$provincias_count = count($provincias);
?>
<div class="PRT_caja_principal">
¿Te encanta contar historias de miedo? ¿Tus friends se parten de risa con tus chistes? ¿Te gustaría compartir con todas las braveras un Tierra Trágame?* Sea cuál sea tu historia, en BRAVO ¡estamos deseando escucharte!
<br><br>
Escoge el tema sobre el que quieras escribirnos en este menú:
<form action="#" method="post" enctype="multipart/form-data" name="enviaParticipa">
<br />
<select name="seleccionaTema">
<?php
$count = count($tema);
$i = 0;
while($i < $count){
?>
<option value='<?php echo $tema[$i]; ?>'><?php echo $tema[$i]; ?></option>
<?php
$i++;
}
?>
</select>
<br /><br /><br />
Escribe aquí tu historia. ¡Ah! No olvides rellenar tus datos, ¡sería una pena que no pudiéramos contarle a todas las 'braveras' que esta es tu historia! <br />
<br />
<table width="555" border="0" cellpadding="4">
<tr>
<td width="69"><div align="right">Nick: </div></td>
<td width="4"> </td>
<td width="450"><input name="formu_nick" type="text" /></td>
</tr>
<tr>
<td><div align="right">Edad: </div></td>
<td> </td>
<td><input name="formu_age" type="text" /></td>
</tr>
<tr>
<td><div align="right">Ciudad: </div></td>
<td> </td>
<td>
<select name="formu_city">
<?php
$a = 0;
while($a < $provincias_count){
?>
<option value='<?php echo $provincias[$a]; ?>'><?php echo $provincias[$a]; ?></option>
<?php
$a++;
}
?>
</td>
</tr>
<tr>
<td valign="top"><div align="right">Texto: </div></td>
<td> </td>
<td valign="top"><textarea cols="40" rows="8" name="formu_text"></textarea> <br /> <span class="PRT_campos_obligatorios">*Todos los campos son obligatorios, exceptuando el de adjuntar un archivo.</span></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Puedes adjuntar una foto, un dibujo... (Máx. 1 Mb) </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input name="formu_upload" type="file" size="35px" /></td>
</tr>
<tr>
<td height="51"> </td>
<td> </td>
<td valign="bottom"><input name="formu_send" type="submit" value="Enviar" /></td>
</tr>
</table>
<input name="formu_hidden" type="hidden" value="1" />
</form>
</div>
<?php
}else{
## Email para enviar el correo.
$email = "[email protected]";
## Función: Quitar Acentos
function elimina_acentos($cadena){
$text = htmlentities($cadena, ENT_QUOTES, 'UTF-8');
$patron = array (
/* Espacios, puntos y comas por guion
'/[\, ]+/' => '-',*/
// Vocales
'/à/' => 'a',
'/è/' => 'e',
'/ì/' => 'i',
'/ò/' => 'o',
'/ù/' => 'u',
'/á/' => 'a',
'/é/' => 'e',
'/í/' => 'i',
'/ó/' => 'o',
'/ú/' => 'u',
'/â/' => 'a',
'/ê/' => 'e',
'/î/' => 'i',
'/ô/' => 'o',
'/û/' => 'u',
'/ã/' => 'a',
'/&etilde;/' => 'e',
'/ĩ/' => 'i',
'/õ/' => 'o',
'/ũ/' => 'u',
'/ä/' => 'a',
'/ë/' => 'e',
'/ï/' => 'i',
'/ö/' => 'o',
'/ü/' => 'u',
// Otras letras y caracteres especiales
'/å/' => 'a',
'/ñ/' => 'n',
);
$text = preg_replace(array_keys($patron),array_values($patron),$text);
$text= str_replace("'","",$text); #eliminar comillas simples
return($text);
}
// Variables para enviar por correo.
$formu_tema = $_REQUEST['seleccionaTema'];
$formu_nick = $_REQUEST['formu_nick'];
$formu_age = $_REQUEST['formu_age'];
$formu_city = $_REQUEST['formu_city'];
$formu_text = $_REQUEST['formu_text'];
$formu_img = $_REQUEST['formu_upload'];
## Comprueba si los campos están vacios
if($formu_tema != "" && $formu_nick != "" && $formu_age != "" && $formu_city != "" && $formu_text != "") {
## Subida de la imagen.
if(!($_FILES['formu_upload']['type']=="image/jpeg" || $_FILES['formu_upload']['type']=="image/pjpeg" || $_FILES['formu_upload']['type']=="image/gif" || $_FILES['formu_upload']['type']=="image/png")){
echo "<div><h3>El tipo de imagen que intentas subir <b>no está permitido</b>. <a href='javascript:history.back(1)'>Atrás</a></h3></div>";
exit();
}
// Extensión de los archivos.
if($_FILES['formu_upload']['type']=="image/jpeg" OR $_FILES['formu_upload']['type']=="image/pjpeg"){
$extension = ".jpg";
}
if($_FILES['formu_upload']['type']=="image/gif"){
$extension = ".gif";
}
if($_FILES['formu_upload']['type']=="image/png"){
$extension = ".png";
}
# Nombre de la foto
$nombre_foto = date(Ymd).$_FILES['formu_upload']['name'];
$destino = "../wp-content/plugins/wp-participa/imguploads";
$nombre_tmp = $_FILES['formu_upload']['tmp_name'];
if(copy($_FILES['formu_upload']['tmp_name'], $destino.'/'.$_FILES['formu_upload']['name'])){
$URLimagen = $_SERVER['SERVER_NAME'].$destino.'/'.$_FILES['formu_upload']['name'];
#echo "<img src='../wp-content/plugins/wp-listas/upload/".$nombre_foto."' width='200px' alt='foto' >";
echo "<h1>URL: </h1>".$URLimagen;
exit();
}
## Envío del correo
/*
$para = $email;
$de = "[email protected]";
$subject = elimina_acentos($formu_tema);
$header = "From: " . $de . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/html; charset=utf-8";
$contenido = "<strong>Bravo - Participa</strong><br><br>";
$contenido .= "<strong>Nick: </strong>" .$formu_nick."<br>";
$contenido .= "<strong>Edad: </strong>".$formu_age."<br>";
$contenido .= "<strong>Ciudad: </strong>".$formu_city."<br>";
$contenido .= "<strong>Texto: </strong>".$formu_text."<br>";
if($de == "" || $subject == ""){
echo "Ha habido un problema al enviar el email. Por favor, <a href='#'>Pinche Aquí</a> y vuelva a intentarlo.";
}else{
$emailok = mail($para, $subject, utf8_decode($contenido), $header);
if($emailok && $reenvio = 1){
echo "<div style='text-align:center;'><h3>¡Gracias por participar!</h3></div>";
}
}
*/
}else{
echo "<div style='text-align:center;'><h4>No has introducido algún campo. Por favor, veríficalo. <a href='javascript:history.back(1)'>Volver Atrás</a></h4></div>";
}
}
?>