Foros del Web » Programando para Internet » PHP »

Error funtion copy

Estas en el tema de Error funtion copy en el foro de PHP en Foros del Web. Hola tengo un sistema para subir imagenes pero al momento que cargo el archivo php me tira este error Warning: copy(foto/CtZySPVUXJ4V.gif) [function.copy]: failed to open ...
  #1 (permalink)  
Antiguo 12/09/2011, 16:26
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 12 años, 11 meses
Puntos: 11
Pregunta Error funtion copy

Hola tengo un sistema para subir imagenes pero al momento que cargo el archivo php me tira este error

Warning: copy(foto/CtZySPVUXJ4V.gif) [function.copy]: failed to open stream: Permission denied in /home/mundosic/public_html/usuario/modificar.php on line 27

Supongo que ese error le tengo que añadir permisos 777 a mi carpeta pero me dicen que es peligroso y cosas haci y ademas mi servidor no me deja hacerlo queria saber como puedo solucionar esto creo que es con el comando chmod() pero no se como especificarlo
aqui les dejo me codigo
Código PHP:
<?  
if($_POST){ 
// Creamos la cadena aletoria 
$str "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
$cad ""
for(
$i=0;$i<12;$i++) { 
$cad .= substr($str,rand(0,62),1); 

// Fin de la creacion de la cadena aletoria 
$tamano $_FILES 'file' ][ 'size' ]; // Leemos el tamaño del fichero 
$tamaño_max="50000000000"// Tamaño maximo permitido 
if( $tamano $tamaño_max){ // Comprovamos el tamaño  
$destino 'foto' // Carpeta donde se guardata 
$sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/ 
$tipo=$sep[1]; // Optenemos el tipo de imagen que es 
if($tipo == "gif" || $tipo == "pjpeg" || $tipo == "bmp"){
copy $_FILES 'file' ][ 'tmp_name' ], $destino '/' .$cad.'.'.$tipo);
require_once(
'http://mundosic.com/usuario/post.html');

else echo 
"el tipo de archivo no es de los permitidos";lo desimos 

else echo 
"El archivo supera el peso permitido.";

?>
  #2 (permalink)  
Antiguo 12/09/2011, 16:45
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error funtion copy

Hola que tal.

La función copy es obsoleta checa esto move_uploaded_file

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 12/09/2011, 16:47
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 12 años, 11 meses
Puntos: 11
Respuesta: Error funtion copy

si tambien e probado con move_uploaded_file pero me tira el mismo error
  #4 (permalink)  
Antiguo 12/09/2011, 16:51
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error funtion copy

Cita:
Iniciado por xlos_mas_pro Ver Mensaje
si tambien e probado con move_uploaded_file pero me tira el mismo error
Si ya comprobaste con las 2 funciones efectivamente debes de cambias los permisos de la carpeta para tener acceso y si dices que tu web hostin no te lo permite es muy raro.

Te dejo la referencia de chmod()

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 12/09/2011, 17:34
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: Error funtion copy

Hola,

En la actualidad hay muchos servidores que cuentan con una extensión de apache si no me equivoco, que hace que se pueda acceder a los directorios sin cambiar ningún tipo de permisos. Toma eso como base para determinar qué tan bueno es el servidor de hosting.

Y sobre tu problema, deberías contar cómo estás cambiando los permisos del directorio y cómo tu servidor no "te deja" hacerlo.

Saludos
@Sotelio
  #6 (permalink)  
Antiguo 12/09/2011, 17:49
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 12 años, 11 meses
Puntos: 11
Pregunta Chmod

Hola tengo un codigo para subir imagenes a mi host pero no puedo darle los permisos nesesarios para subir la imagen cuando la subo me tira el siguiente error
Cita:

Warning: move_uploaded_file(../foto/silueta.gif) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/mundosic/public_html/usuario/modificar.php on line 16

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpK5gY27' to '../foto/silueta.gif' in /home/mundosic/public_html/usuario/modificar.php on line 16
Mi codigo es este :
Código PHP:
<?php
$nombre 
$_FILES['archivo']['name'];
$tipo $_FILES['archivo']['type'];
$ruta $_FILES['archivo']['tmp_name'];
$tamaño $_FILES['archivo']['size'];
if(  
strpos($tipo"gif") || strpos($tipo"jpeg") && $tamaño<1000000 ){
if( 
move_uploaded_file($ruta,"../foto/".$nombre) && chmod("../foto/".$nombre,0777) ){
    echo 
'Archivo subido con exito';
    }else{
        echo 
'Error en la subida del archivo';
        }
    
    }else{
        echo 
'EL tamaño o le tipo de archivo no son los correctos.<br/>';
        echo 
'Solo se permite tipo gif y jpeg y el tamaño del archivo debe ser maximo de 1mb';
        }
?>
Queria saber como puedo darle permisos a ese archivo para que me deje subirlo

Gracias de ante mano
  #7 (permalink)  
Antiguo 12/09/2011, 18:50
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Chmod

Hola xlos_mas_pro, alomejor deberías de probar a darle manualmente a la carpeta permisos para poder grabar los archivos, aunque no sea quizas la solucion definitiva alomejor te hace salir de alguna duda.

Y también existen estas funciones, por si quieres comprobar:

fileperms() - Obtiene los permisos de un archivo
stat() - Da información acerca de un archivo
  #8 (permalink)  
Antiguo 12/09/2011, 19:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error funtion copy

Prueba por favor lo siguiente:

Código PHP:
Ver original
  1. if( ! file_exists('../foto')) {
  2.     die('El directorio no existe.');
  3. }
  4. if( ! is_dir('../foto')) {
  5.     die('../foto no es un directorio valido.');
  6. }
  7. die('../foto existe y es un directorio valido.');

Nos cuentas el resultado de eso, para ver como solucionar el problema.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 12/09/2011, 22:50
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Error funtion copy

Cita:
Iniciado por skiper0125 Ver Mensaje
Hola que tal.

La función copy es obsoleta checa esto move_uploaded_file

Saludos
La función copy NO es obsoleta. Te ruego que por favor coloques donde leíste tal cosa. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 13/09/2011, 08:04
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Error funtion copy

Código PHP:
Ver original
  1. Warning: copy(foto/CtZySPVUXJ4V.gif) [function.copy]: failed to open stream: Permission denied in /home/mundosic/public_html/usuario/modificar.php on line 27

con COPY o MOVE_UPLOAD_FILES te saldra el mismo error, creo que no estas leyendo bien el error es que n tienes permisos para modificar ese directorio...

pues debido a que no estas dandoles los permisos 777,

no deberias de hacer algo asi:

Código PHP:
chmod(RUTADELARCHIVO,0777);
COPY..... 
Bueno tiene sus pro y sus contras darle permisos a los script en php, pero alli radica tu problema si no lo haces obviamente no te dejara ejecutarlo....

Etiquetas: chmod, function-copy, permisos
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 23:18.