Foros del Web » Programando para Internet » PHP »

permisos de archivo en base de datos

Estas en el tema de permisos de archivo en base de datos en el foro de PHP en Foros del Web. Ese es la parte del codigo que me genera un error que no puedo solucionar Mediante un formulario envio datos a una base de datos ...
  #1 (permalink)  
Antiguo 06/08/2009, 20:25
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta permisos de archivo en base de datos

Ese es la parte del codigo que me genera un error que no puedo solucionar
Mediante un formulario envio datos a una base de datos y quiero adjuntar un archivo.
Pero me falla pues aparentemente no tendria los permisos necesarios pero tanto a la carpeta images como a la carpeta productos le asigne 777.
al intentar copiar de la carpeta temporal a la base de datos me da el error siguiente

Warning: copy(images/productos/monitor2.jpg) [function.copy]: failed to open stream: Permission denied in /home/a3434157/public_html/procesaProd.php on line 12
(la line 12 es la que intenta copiar el archivo
el echo que puse es para determinar cual es la carpeta en la que está
el echo da este resultado
tmp/phpT7AJAT
Tal vez sea a esta carpeta que hay que cambiarle los permisos , en ese caso no se donde se hace o como se hace.
El resto del codigo que graba en la base de datos funciona correctamente.

$archivo = $_FILES["archivoAdj"]['name'];
$conexion= mysql_connect($servidor, $usuario, $password);
$destino ="images/productos/".$archivo;
echo $_FILES['archivoAdj']['tmp_name'];
if ($_FILES['archivoAdj']['name']!="")
{ copy($_FILES['archivoAdj']['tmp_name'],$destino) or die("Ocurrió un error al copiar el archivo");
}
else { die ("Archivo no especificado"); }


el mensaje que larga es "Ocurrio un error al copiar el archivo"

Si alquien me da una ayudita muchas gracias
  #2 (permalink)  
Antiguo 06/08/2009, 20:38
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: permisos de archivo en base de datos

mmm ese codigo me dolio la cabeza.
amigo intenta hacer esto

Código PHP:

$archivo 
$_FILES["archivoAdj"]['name'];;
$temp $_FILES['archivoAdj']['tmp_name'];
$ruta "home/public_html/images/productos/monitor2/".$archivo;

if(empty(
$archivo)){
    echo 
"Por favor agregue un archivo";
   
                              } else {
  
                                          if (
is_uploaded_file($temp)){
                                   
copy($temp$ruta);
                                                      echo 
"Se ha subido el archivo";
                                                                                      }

                                         } 

Saludos!
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #3 (permalink)  
Antiguo 06/08/2009, 21:18
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: permisos de archivo en base de datos

Cita:
Iniciado por New Ver Mensaje
mmm ese codigo me dolio la cabeza.
amigo intenta hacer esto

Código PHP:

$archivo 
$_FILES["archivoAdj"]['name'];;
$temp $_FILES['archivoAdj']['tmp_name'];
$ruta "home/public_html/images/productos/monitor2/".$archivo;

if(empty(
$archivo)){
    echo 
"Por favor agregue un archivo";
   
                              } else {
  
                                          if (
is_uploaded_file($temp)){
                                   
copy($temp$ruta);
                                                      echo 
"Se ha subido el archivo";
                                                                                      }

                                         } 

Saludos!

Ahora mi codigo quedó asi:

$archivo = $_FILES["archivoAdj"]['name'];
$conexion= mysql_connect($servidor, $usuario, $password);
$destino ="home/public_html/images/productos/".$archivo;
$temporal = $_FILES['archivoAdj']['tmp_name'];
echo $temporal."<br>";
echo $destino."<br>";
echo $archivo."<br>";
if(empty($archivo)){echo "Agregar la imagen";}
else {
if (is_uploaded_file($temporal)){
copy($temporal, $destino);
echo "Archivo subido correctamente"; }
y da este error

/tmp/php0ABgUD
images/productos/monitor2.jpg
monitor2.jpg

PHP Error Message

Warning: copy(images/productos/monitor2.jpg) [function.copy]: failed to open stream: Permission denied in /home/a3434157/public_html/procesaProd.php on line 17

Muchas gracias por tu ayuda lo valoro muchisimo pues estoy realizando mi proyecto con lo que encuentro en internet sin concimientos previos.
gracias de nuevo
  #4 (permalink)  
Antiguo 06/08/2009, 21:21
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: permisos de archivo en base de datos

El error eso, es que no tenes permisos para poder copiar. Con ftp podras cambiar los permisos ( ahora no me acuerdo al funcion xD ).
__________________
Half Music - www.halfmusic.com
  #5 (permalink)  
Antiguo 06/08/2009, 21:38
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: permisos de archivo en base de datos

Yo tampoco recuerdo las funciones para darle permisos CMOD con PHP pero te suguiero esto, si es q no encuentras otro solucion.

1.- Con Cpanel o con el CAP que tengas create una cuenta FTP con acceso al root, dale todos los permisos y un password

Ahora adiere estas lineas en tu script en PHP y listo.
Código PHP:
$ftp_user "root";
$ftp_pass "mipass";
$ftp_connect ftp_connect('ftp.miservidor.com');
$ftp_login ftp_login($ftp_connect"$ftp_user","$ftp_pass");
      
ftp_pasv ($ftp_connecttrue); 

Saludos!

P.D : Adierelas al principio de tu script
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #6 (permalink)  
Antiguo 06/08/2009, 22:49
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: permisos de archivo en base de datos

Cita:
Iniciado por New Ver Mensaje
Yo tampoco recuerdo las funciones para darle permisos CMOD con PHP pero te suguiero esto, si es q no encuentras otro solucion.

1.- Con Cpanel o con el CAP que tengas create una cuenta FTP con acceso al root, dale todos los permisos y un password

Ahora adiere estas lineas en tu script en PHP y listo.
Código PHP:
$ftp_user "root";
$ftp_pass "mipass";
$ftp_connect ftp_connect('ftp.miservidor.com');
$ftp_login ftp_login($ftp_connect"$ftp_user","$ftp_pass");
      
ftp_pasv ($ftp_connecttrue); 

Saludos!


Tu ultima sugerrencia no me dio resultado

intente cambiar los permisos de esta manera pero algo no esta bien pues sigue sin copiar el archivo al destino final

chmod("$temporal" , 0777);
chmod("$archivo" , 0777);
intentando darle a la carpeta temporal y al destino final permisos totales
Gracias por estarme ayudando

P.D : Adierelas al principio de tu script
  #7 (permalink)  
Antiguo 06/08/2009, 22:54
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: permisos de archivo en base de datos

Cita:
Iniciado por New Ver Mensaje
Yo tampoco recuerdo las funciones para darle permisos CMOD con PHP pero te suguiero esto, si es q no encuentras otro solucion.

1.- Con Cpanel o con el CAP que tengas create una cuenta FTP con acceso al root, dale todos los permisos y un password

Ahora adiere estas lineas en tu script en PHP y listo.
Código PHP:
$ftp_user "root";
$ftp_pass "mipass";
$ftp_connect ftp_connect('ftp.miservidor.com');
$ftp_login ftp_login($ftp_connect"$ftp_user","$ftp_pass");
      
ftp_pasv ($ftp_connecttrue); 

Saludos!

P.D : Adierelas al principio de tu script

Esta sugerencia no soluicono mi problema que ya me esta enloqueciendo je
Encontre otra idea en el buscador
chmod("$temporal" , 0777);
chmod("$archivo" , 0777);
para darle permisos totales a la carpeta temporal y al archivo de destino pero tampoco funciono
Al aprecer no es problema con permisos en las carpetas sino con que yo no tengo en teoria esos permisos para copiar
Entre en el servidor pero cambie todo lo que pense ayudaria pero nada

gracias por ayudarme!
  #8 (permalink)  
Antiguo 07/08/2009, 09:49
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: permisos de archivo en base de datos

Devería solucionar tu problema amigo, ahora que error te manda, lo mas probable es que tengas permisos restringidos en la carpeta donde quieres copiar, asegurate de ello.

Tambien asegurate que estes haciendo un login correcto en la ceunta FTP.

Si los haces bien, esta sugerencia te va a ir espectacular
Saludos
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
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 21:07.