Foros del Web » Programando para Internet » PHP »

Errores tanto con copy como con move_uploaded_file

Estas en el tema de Errores tanto con copy como con move_uploaded_file en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 05/11/2010, 04:22
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años, 8 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 :) ?
  #2 (permalink)  
Antiguo 05/11/2010, 07:21
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 10 meses
Puntos: 96
Respuesta: Errores tanto con copy como con move_uploaded_file

Saludos

Haz intentado colocar la ruta absoluta en la variable $destino ya que ese error se presenta por que no encuentra la ubicacion
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 05/11/2010, 08:40
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Errores tanto con copy como con move_uploaded_file

Esta ruta:
$destino = "../wp-content/plugins/wp-participa/imguploads";
No existe.... cambiala y verifica que exista ^^

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 05/11/2010, 14:50
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años, 8 meses
Puntos: 15
Respuesta: Errores tanto con copy como con move_uploaded_file

La verdad que son los errores más tontos y que más tiempo te llevan xD !!

Le quité los ../ y listo, solucionado !! Ais... jajaja

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

Etiquetas: copy
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:39.