Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2010, 04:22
Avatar de Jask
Jask
 
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años, 7 meses
Puntos: 15
Exclamación Errores tanto con copy como con move_uploaded_file

Muy buenas.

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">&nbsp;</td>
        <td width="450"><input name="formu_nick" type="text" /></td>
      </tr>
      <tr>
        <td><div align="right">Edad: </div></td>
        <td>&nbsp;</td>
        <td><input name="formu_age" type="text" /></td>
      </tr>
      <tr>
        <td><div align="right">Ciudad: </div></td>
        <td>&nbsp;</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>&nbsp;</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>&nbsp;</td>
        <td>&nbsp;</td>
        <td>Puedes adjuntar una foto, un dibujo... (Máx. 1 Mb) </td>
      </tr>
      <tr>
          <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><input name="formu_upload" type="file" size="35px" /></td>
      </tr>
      <tr>
          <td height="51">&nbsp;</td>
        <td>&nbsp;</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($cadenaENT_QUOTES'UTF-8');
    
$patron = array (
        
/* Espacios, puntos y comas por guion
        '/[\, ]+/' => '-',*/
                                      
        // Vocales
    
        
'/&agrave;/' => 'a',
        
'/&egrave;/' => 'e',
        
'/&igrave;/' => 'i',
        
'/&ograve;/' => 'o',
        
'/&ugrave;/' => 'u',
    
        
'/&aacute;/' => 'a',
        
'/&eacute;/' => 'e',
        
'/&iacute;/' => 'i',
        
'/&oacute;/' => 'o',
        
'/&uacute;/' => 'u',
    
    
        
'/&acirc;/' => 'a',
        
'/&ecirc;/' => 'e',
        
'/&icirc;/' => 'i',
        
'/&ocirc;/' => 'o',
        
'/&ucirc;/' => 'u',
    
        
'/&atilde;/' => 'a',
        
'/&etilde;/' => 'e',
        
'/&itilde;/' => 'i',
        
'/&otilde;/' => 'o',
        
'/&utilde;/' => 'u',
    
        
'/&auml;/' => 'a',
        
'/&euml;/' => 'e',
        
'/&iuml;/' => 'i',
        
'/&ouml;/' => 'o',
        
'/&uuml;/' => 'u',
        
        
// Otras letras y caracteres especiales
        
'/&aring;/' => 'a',
        
'/&ntilde;/' => 'n',
        );
    
    
$text preg_replace(array_keys($patron),array_values($patron),$text);
    
$textstr_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>";

    }

}

?>
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?