Foros del Web » Programando para Internet » PHP »

WARNING al subir imagen

Estas en el tema de WARNING al subir imagen en el foro de PHP en Foros del Web. bueno señores a ver si me pueden ayudar en esto. A la hora de subir una imagen desde un formulario me aparece lo siguiente: Warning: ...
  #1 (permalink)  
Antiguo 01/08/2006, 12:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 53
Antigüedad: 18 años, 11 meses
Puntos: 0
Pregunta WARNING al subir imagen

bueno señores a ver si me pueden ayudar en esto. A la hora de subir una imagen desde un formulario me aparece lo siguiente:

Warning: move_uploaded_file(): open_basedir restriction in effect. File(/imagenes/P1000631.JPG) is not within the allowed path(s): (/home/ag000558/public_html:/tmp:/opt/apache/lib/php) in /home/ag000558/public_html/guardia-roja/elnuevo/galeria/agregar_imagen.php on line 6

acabo de cambiar de servidor, en el servidor anterior si se subian las imagenes correctamente. La carpeta a la q se suben ya tiene los permisos 777 y si al archivo le quiero poner los permisos de write me aparece en la pagina

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Ojala me puedan decir q es, gracias.
  #2 (permalink)  
Antiguo 01/08/2006, 12:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías poner el código que usas? (para ver las rutas completas que indicas)

Al parecer estás indicando en move_uploaded_file() (2° parámetro que indica donde dejas tu archivo) .. la ruta absoluta:

/imagenes/...

Eso no sería correcto por qué haces referencia a tu raiz del servidor entero .. sería (tomando en cuenta que imagenes/ cuelga bajo el directorio donde tienes tu scritp.php de proceso del Upload del archivo .. en:

imagenes/

ó

./imagenes/

ó

/home/ag000558/public_html/guardia-roja/elnuevo/galeria/imagenes

De hecho .. parte de esa ruta la podrías obtener con:
$_SERVER['DOCUMENT_ROOT']


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 01/08/2006, 12:50
 
Fecha de Ingreso: mayo-2005
Mensajes: 53
Antigüedad: 18 años, 11 meses
Puntos: 0
Gracias por tu respuesta, pues mi codigo es este:

<?
if ($enviar){
if (move_uploaded_file($_FILES['imagen']['tmp_name'],"http://www.guardia-roja.diariocoatepec.com/elnuevo/galeria/imagenes/".$_FILES['imagen']['name'])){
$link = mysql_connect("localhost","usuario","pass");
mysql_select_db("db",$link);
$sql = "INSERT INTO GR_galeria(imagen,descripcion,nombre,categoria)";
$sql .="VALUES ('$nombre','$descripcion','".$_FILES['imagen']['name']."','$categoria')";
$result = mysql_query($sql);
echo "Ya se subio la imagen \n";
}
} else{
?>
<form method="post" action="agregar_imagen.php" enctype="multipart/form-data">
Descripción: <input type="text" name="descripcion"><br><br>
Autor: <input type="text" name="nombre"><br><br>
Categoria: <input type="text" name="categoria"><br><br>
Agregar foto:<input type="file" name="imagen"><br><br>
<input type="submit" name="enviar" value="aceptar">
</form>
<?
}
?>

pues la carpeta en la que este este archivo se llama GALERIA pero la carpeta a donde quiero subir la imagen me tengo q regresar una carpeta para encontrar una que se llama ELNUEVO/GALERIA/IMAGENES.

Espero explicarme bien, gracias.
  #4 (permalink)  
Antiguo 01/08/2006, 12:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No es correcto:

if (move_uploaded_file($_FILES['imagen']['tmp_name'],"http://www.guardia-roja.diariocoatepec.com/elnuevo/galeria/imagenes/".$_FILES['imagen']['name'])){

No puedes indicar un "URL" en esa función .. debes indicar una RUTA ABSOLUTA .. Tal cual los ejemplos que te dejé en mi anterior mensaje.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 01/08/2006, 12:54
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Mmmm... yo opino por un lado q deberías usar direcciones relativas en lugar de absolutas para la ruta de subida.

Y por otro lado que uses <?php en lugar de la etiqueta corta (Ya he visto en un post anterior que debido a eso no le funcionaba el script).

Por lo demás aparte de que no checkeas si realmente te llega la imagen y tal parece estar correcto.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #6 (permalink)  
Antiguo 01/08/2006, 13:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por djreficul
Mmmm... yo opino por un lado q deberías usar direcciones relativas en lugar de absolutas para la ruta de subida.

Y por otro lado que uses <?php en lugar de la etiqueta corta (Ya he visto en un post anterior que debido a eso no le funcionaba el script).

Por lo demás aparte de que no checkeas si realmente te llega la imagen y tal parece estar correcto.

Saludos.
Por mi parte soy pro-ruta absoluta completa con ayuda de $_SERVER['DOCUMENT_ROOT'] o constante definida para tal fin.

Así evito problemas el día que muevo de ruta mis scripts o donde trabajan estos con sus datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 01/08/2006, 13:12
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Cita:
Iniciado por Cluster
Por mi parte soy pro-ruta absoluta completa con ayuda de $_SERVER['DOCUMENT_ROOT'] o constante definida para tal fin.

Así evito problemas el día que muevo de ruta mis scripts o donde trabajan estos con sus datos.

Un saludo,
Pues eso falla en mi servidor. Atención al código y atención al error:

Código PHP:
<?php
echo $_SERVER['DOCUMENT_ROOT']."<br>";
?>
Y atención al error:

Cita:
Notice: Undefined index: DOCUMENT_ROOT in C:\Inetpub\wifi\prueba3.php on line 2
¿Será por usar IIS en lugar de Apache? ¿Por usar Windows en lugar LINUX?

Por eso es x lo q en mis scripts me he limitado a usar rutas relativas y documentar esas cosas por si hay cambios de servidor, jejeje.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #8 (permalink)  
Antiguo 01/08/2006, 13:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 53
Antigüedad: 18 años, 11 meses
Puntos: 0
Gracias cluster y djreficul por contestar. ya quedo resuelto el problema ;)
  #9 (permalink)  
Antiguo 01/08/2006, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por djreficul
Pues eso falla en mi servidor. Atención al código y atención al error:

Código PHP:
<?php
echo $_SERVER['DOCUMENT_ROOT']."<br>";
?>
Y atención al error:



¿Será por usar IIS en lugar de Apache? ¿Por usar Windows en lugar LINUX?

Por eso es x lo q en mis scripts me he limitado a usar rutas relativas y documentar esas cosas por si hay cambios de servidor, jejeje.

Saludos.
Si, .. es por qué usas IIS (o servidor HTTP en modo CGI en general si mal no recuerdo).

DOCUMEN_ROOT es para Apache (el servidor HTTP más difundido sobre todo en internet).

Revisa la solución propuesta en este mensaje:
http://www.forosdelweb.com/f18/document_root-iis-394136/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 13:13.