Foros del Web » Programando para Internet » PHP »

Warning: open_basedir

Estas en el tema de Warning: open_basedir en el foro de PHP en Foros del Web. Hola a todos, espero que me solucionen este problema: Intento subir archivos via web, pero me sale un mensaje de Warning: open_basedir wrong directory............... Me ...
  #1 (permalink)  
Antiguo 06/05/2003, 19:51
Avatar de estanislaorc  
Fecha de Ingreso: abril-2003
Ubicación: Peru
Mensajes: 58
Antigüedad: 21 años
Puntos: 0
Warning: open_basedir

Hola a todos, espero que me solucionen este problema:

Intento subir archivos via web, pero me sale un mensaje de Warning: open_basedir wrong directory...............

Me he dado cuenta que la configuracion del php de mi proveedor tiene señalada en la directiva open_basedir="/usr/local/psa/home/vhosts/erc/httpdocs"
el cual es el document root;
Trato de subir los archivos dentro de ella y me sale el mensaje de error ya señalado.

he provado mi codigo en mi makina donde open_basedir=" " y si sale.

Ayundeme, es urgente!!

Para cualkier duda el codigo es el siguiente:


<html>
<head>
<title>Upload</title>
</head>
<script>
function mens(x)
{ alert(x);
location.href="subir_archivos.php"; }
</script>
<body>
<? if($archivo=="none")
{ ?><script>
mens("No hay hay registro de archivo") ;
</script>

<? exit; }

if($archivo_size==0)
{ ?> <script>
mens("es de tamaño cero") ;
</script>

<? exit; }

if(!is_uploaded_file($archivo))
{ ?> <script>
mens("el archivo se kedado atracado") ;
</script>

<? exit ;}
$destino="/usr/local/psa/home/vhosts/erc/httpdocs/noticia/".$archivo_name;
//en caso ke kieres poner en otra unidad poner "C:\carpeta/".$archivo_name;
if(!copy($archivo,$destino))
{ ?><script>
mens("El archivo no ha podido ser movido de temporales") ;
</script>

<? exit;}
?>
<script>
mens("El archivo ha sido subido satisfactoriamente") ;
</script>
</body>
</html>


Gracias de todos modos!!
__________________
Web developer
  #2 (permalink)  
Antiguo 06/05/2003, 21:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues con esa configuración .. lamento decirte que no vas a poder hacer "uploads" via HTTP .. pues te está limitando esa configuración a abrir archivos desde tu "document root" ..

Los archivos que subes via PHP por HTTP (upload) .. quedan en el directorio temporal que indique la directiva de php.ini (phpinfo() lo puedes ver en tu servicio de hosting)...

upload_tmp_dir

que si te fijas .. o no tiene valor (no value) .. o apunta a un directorio (tal vez /tmp ) que está fuera de donde apunta tu open_base_dir ....

Prueba a usar en lugar de copy() .. la función move_uploaded_file()

http://www.php.net/manual/en/functio...oaded-file.php

(aunque creo q vas a tener los mismos problemas de permisos)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 07/05/2003, 12:39
Avatar de estanislaorc  
Fecha de Ingreso: abril-2003
Ubicación: Peru
Mensajes: 58
Antigüedad: 21 años
Puntos: 0
Como lo sospechabas, tampoco funciona!!

Gracias de todos modos cluster, ya entiendo lo de open_basedir;
no me quedara otra que decirle a mi proveedor de hosting que cambie la directiva de open_basedir o la de upload_tmp_dir, espero que kiera .

No me keda otra , ya que provee hacer un sistemade manejo de ftp via web para subir los archivos , pero se demora mucho en acceder ha ellas, y ha veces se cae.
__________________
Web developer
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 10:29.