Foros del Web » Programando para Internet » PHP »

Parse errior usando funcion $_files

Estas en el tema de Parse errior usando funcion $_files en el foro de PHP en Foros del Web. Utilizo la siguiente sentencia: Código PHP: $archivo = $_FILES [ 'archivo' ][ 'tmp_name' ];  Y en mi servidor local funciona perfectamente, pero cuando lo subo ...
  #1 (permalink)  
Antiguo 21/04/2003, 19:05
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Parse errior usando funcion $_files

Utilizo la siguiente sentencia:
Código PHP:
$archivo=$_FILES['archivo']['tmp_name']; 
Y en mi servidor local funciona perfectamente, pero cuando lo subo a mi servidor de hosting me da el siguiente error:

Parse error: parse error

¿a que puede ser debido?
  #2 (permalink)  
Antiguo 21/04/2003, 21:27
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Pueden ser diferencias entre las versiones de PHP...

$_FILES se incorporó a partir de 4.1.0

Puedes cambiarlo por $HTTP_POST_FILES si la version de tu servidor es anterior...

Saludos!!!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 22/04/2003, 04:39
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Gracias, ya lo habia probado, pero tampoco funciono, cosa que no entiendo, pues según phpadmin el server tiene las siguientes versiones

MySQL ver. 4.0.12
PHP ver. 4.2.3

Y php.ini esta configurado como

register_globals= on
file_uploads= 1
upload_max_files= 1M
upload_tmp_dir= /tmp/

Todo es teoricamente correcto, pero no funciona.

Pd.: el tamaño del archivo que intento subir es de 30000 bytes, luego voy sobrado con la limitación del upload_max_files.

Un saludo
  #4 (permalink)  
Antiguo 22/04/2003, 04:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Siempre cabe la posibilidad que el error este en la linea anterior, pero que PHP lo detecte en esa. Cuando digo anterior, quiero decir anterior(es). Pon unas cuantas lineas mas de codigo, las anteriores.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 22/04/2003, 04:52
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
El problema no creo que esté en el codigo, cuando lo ejecuto a nivel local funciona perfectamente, el problema es cuando esta en el servidor del hosting que no funciona, no obstante aqui tienes el codigo:

Código PHP:
<?php require_once('Connections/divXHispano.php'); ?>
<?php IMPORT_REQUEST_VARIABLES
("g","row_");?>
<?php
mysql_select_db
($database_divXHispano$divXHispano);
$query_guardar_archivo "SELECT * FROM peliculas";
$guardar_archivo mysql_query($query_guardar_archivo$divXHispano) or die(mysql_error());
$row_guardar_archivo mysql_fetch_assoc($guardar_archivo);
$totalRows_guardar_archivo mysql_num_rows($guardar_archivo);
?>
sigue codigo html

Código PHP:
<?php 
/* guardar_archivo.php */
$tabla=$HTTP_POST_VARS['tabla']
$archivo=$HTTP_POST_FILES['archivo']['tmp_name'];
$tamanio=$HTTP_POST_FILES['archivo']['size'];
$tipo=$HTTP_POST_FILES['archivo']['type'];
$nombre=$HTTP_POST_FILES['archivo']['name'];
$titulo=$HTTP_POST_VARS['titulo'];
$tamano=$HTTP_POST_VARS['tamano'];
$enlace=$HTTP_POST_VARS['enlace'];
$pagina=$HTTP_POST_VARS['pagina'];
$fechadate("d/m/y");
?>
Como ves el codigo es sencillo y deberia funcionar.

Un saludo
  #6 (permalink)  
Antiguo 22/04/2003, 04:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bueno, fijate:
Código PHP:
$tabla=$HTTP_POST_VARS['tabla']
$archivo=$HTTP_POST_FILES['archivo']['tmp_name']; 
¿Que falta al final de la primera linea, justo la anterior de la que te da el error?

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 22/04/2003, 05:14
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0

Tendre que ir pensando en pedir cita con el oculista.

Muchas gracias.

No obstante, y siguiendo en lo mismo, ahora me da los siguientes errores:

Warning: open_basedir restriction in effect. File is in wrong directory
Warning: fopen("/tmp/phpAyIIgJ", "rb") - Operation not permitted
Warning: fread(): supplied argument is not a valid File-Handle resource
Warning: fclose(): supplied argument is not a valid File-Handle resource

Supongo que arreglando el primero se solucionaran los siguientes. pero lo que no entiendo es a que clase de restriccion se refiere:

El codigo que da error es el siguiente:

Código PHP:
if ($archivo !="none")
{
$fp=fopen($archivo"rb");
$imagen=fread($fp,$tamanio);
$imagen=addslashes($imagen);
fclose($fp);
$qry="INSERT INTO ".$tabla." VALUES
(0,'$titulo','$imagen','$tipo','$tamano','$enlace',0,'$nombre','$pagina')"
;

mysql_query($qry);

if(
mysql_affected_rows($divXHispano)>0){
echo 
"Se ha guardado el archivo en la base de datos.";}
else
echo 
"No se ha podido guardar el archivo en la base de datos.";
}
else
echo 
"No se ha podido subir el archivo al servidor.";
?> 
Un saludo
  #8 (permalink)  
Antiguo 22/04/2003, 05:22
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Pues esforzandote un poco y buscando en el manual ne www.php.net , podrias haber llegado a esta pagina: http://www.php.net/manual/en/feature...i.open-basedir .

Dale un repaso, y si no entiendes algo en concreto, pregunta.

Aunque la solucion pasa por modernizar la funcion para copiar la imagen (aunque sea temporalmente para luego cargarla en la BD).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 22/04/2003, 05:30
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Ok gracias.

En mi php.ini open_basedir está definida como no value.

Un saludo
  #10 (permalink)  
Antiguo 22/04/2003, 11:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé que función estas usando para mover tu archivo que subes desde el /tmp donde se supone que te está subiendo los archivos que subes por "Upload" HTTP (por tu $_FILE ...) .. pero, este error es de permisos de lectura/acceso:

Warning: fopen("/tmp/phpAyIIgJ", "rb") - Operation not permitted

Eso lo deberias de solucionar usando en lugar de copy() si lo usas .. usar move_uploaded_file() ...

Si pretendes leerlo directamente (con tu fopen() ..) y no te deja .. tendras que primero "mover" ese archivo hacia algun directorio de tu sisito para poder hacer un fopen() en tus directorios donde tendras permisos para hacer esa operación (y luego borrar el archivo con unlink() ...)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 22/04/2003, 12:57
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Cluster, no entiendo muy bien que me dices, llevo 4 dias con php y la verdad es que no me aclaro mucho.

Te explico el procedimiento que sigo con el tratamiento de la imagen:

Capturo la imagen con un formulario

Código HTML:
<form enctype="multipart/form-data" action="registrar.php" method="post">
<table border="0">
  <tr>
    <td><strong>Imagen:</strong></td>
    <td><input type="file" name="archivo" size="50"></td>
  </tr>
</table>
</form> 
Recojo todos los valores en otra pantalla
Código PHP:
$archivo=$HTTP_POST_FILES['archivo']['tmp_name'];
$tamanio=$HTTP_POST_FILES['archivo']['size'];
$tipo=$HTTP_POST_FILES['archivo']['type'];
$nombre=$HTTP_POST_FILES['archivo']['name']; 
Y le digo que me lo guarde
Código PHP:
if ($archivo !="none")
{
$fp=fopen($archivo"rb");
$imagen=fread($fp,$tamanio);
$imagen=addslashes($imagen);
fclose($fp);
$qry="INSERT INTO ".$tabla." VALUES
(0,'$titulo','$imagen','$tipo','$tamano','$enlace',0,'$nombre','$pagina','$fecha')"
;

mysql_query($qry);

if(
mysql_affected_rows($divXHispano)>0){
echo 
"Se ha guardado el archivo en la base de datos.";}
else
echo 
"No se ha podido guardar el archivo en la base de datos.";
}
else
echo 
"No se ha podido subir el archivo al servidor.";
?> 
Y aqui es donde me da el problema.
Y evidentemente cuando le digo que me reproduzca la imagen con
Código PHP:
<?php echo "<img src=\"vision_imagen.php?id=".$id."&tabla=".$tabla."\">" ?>
Donde "vision_imagen.php" es:
Código PHP:
$qry= "SELECT imagen, tipo, nombre FROM ".$tabla." WHERE id=".$id ?>
<?php $resmysql_query($qry); ?>
<?php $tipo
mysql_result($res0"tipo"); ?>
<?php $contenido
mysql_result($res0"imagen"); ?>
<?php $nombre
mysql_result($res0"nombre"); ?>
<?php
header
("content-type: $tipo");
header("content-disposition: ; filename=\"$nombre\"");
echo 
$contenido;
?>
tampoco me la muestra, aunque supongo que el error es trasladado desde:

Warning: open_basedir restriction in effect. File is in wrong directory
Warning: fopen("/tmp/phpAyIIgJ", "rb") - Operation not permitted

Asi que como veras no uso ningún copy(), que tampoco se usarlo aunque revisare el manual, y no puedo introducir el move_upload_file()

Un saludo

Última edición por Pandragon; 22/04/2003 a las 13:14
  #12 (permalink)  
Antiguo 22/04/2003, 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
mmm no lo he probado .. pero mira de usar: En lugar del [tmp_name] que lo tienes en un directorio que no tienes acceso .. al [name] del archivo ...

Código PHP:
$fp=fopen($nombre"rb"); 
Y si eso no te funciona .. tendras que hacer un:
Código PHP:
move_uploaded_file($archivo,$nombre); // Traerte el archivo a tu espacio ...
$fp=fopen($nombre"rb"); // leer el archivo desde tu espacio/directorio
unlink($nombre); // borrarlo de tu directorio (no te hace falta ahí pues lo vas a subir a tu BD) ...
// resto de tu código .. 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 22/04/2003 a las 13:10
  #13 (permalink)  
Antiguo 22/04/2003, 15:20
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Cluster gracias por la ayuda, la 1ª opcion no funciona, he utilizado el move_uploaded_file y ya no da el error de permiso.

No obstante, cuando quiero que me descargue la imagen uso:

Código PHP:
<?php echo "<img src=\"vision_imagen.php?id=".$id."&tabla=".$tabla."\">" ?>
Donde vision_imagen.php contiene:

Código PHP:
$qry= "SELECT imagen, tipo, nombre FROM ".$tabla." WHERE id=".$id ?>
<?php $resmysql_query($qry); ?>
<?php $tipo
mysql_result($res0"tipo"); ?>
<?php $contenido
mysql_result($res0"imagen"); ?>
<?php $nombre
mysql_result($res0"nombre"); ?>
<?php
header
("content-type: $tipo");
header("content-disposition: ; filename=\"$nombre\"");
echo 
$contenido;
?>
no me enseña la imagen. Aunque cuando lo he probado a nivel local en mi ordenador si que funcionado

Un Saludo
  #14 (permalink)  
Antiguo 22/04/2003, 19:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y te guarda "algo" en tu BD en ese campo 'imagen' ? ..

Ahora q lo veo . jeje .. Borro la imagen en cuento abres el archivo (fopen) .. osese .. el unlink() debe ir debajo del fread() y no justo debajo del fopen() como te puse .. Pruebalo y revisa tu BD si le llegan datos ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 22/04/2003, 20:08
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Si, me di cuenta y coloque el codigo de la siguiente manera:
Código PHP:
move_uploaded_file($archivo,$nombre);
$fp=fopen($nombre"rb");
$imagen=fread($fp,$tamanio);
$imagen=addslashes($imagen);
fclose($fp);
unlink($nombre); 
Me di cuenta por que me daba error en la linea de abajo.

En cuanto a si me graba datos en la bd si que me los guarda, pero no me los muestra. Cosa que no entiendo, en mi ordenador me funciona bien.

Un saludo
  #16 (permalink)  
Antiguo 23/04/2003, 03:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

¿No te encuentra la imagen o te muestra imagen erronea? Es que puede ser un problema con las configuraciones, en concreto con la de magic_quotes. Lo digo porque al guardar en la BD haces un addslashes() y al sacarlo no haces un stripslashes(). Prueba con un echo stripslashes($contenido). Tambien podria ser el header(content-disposition), creo que solo es necesario el content-type.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #17 (permalink)  
Antiguo 23/04/2003, 05:11
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
He probado con stripslashes($contenido), pero tampoco funciona.

En cuanto al uso de (content-disposition: ; filename=\"$nombre\"" según la ayuda de php el procedimiento es el que uso. O por lo menos es lo que he entendido aqui:

http://www.php.net/manual/es/function.header.php

y mas exactamente en este articulo:

dpiper at stens dot com
23-May-2002 06:34

For inline images (JPEG for example):

header('Content-Type: image/jpeg');
header('Content-Disposition: inline; filename=file.jpg);




No obstante, no creo que el problema se encuentre en el scrip de lectura de la imagen, si no en el hecho de carecer de permisos.

Antes de usar la opción move_uploaded_file, indicada por cluster, me guardaba todos los datos a excepcion del campo de image, este lo dejaba en blanco.

Despué de utilizar el move_uploaded_file si que me guarda datos en ese campo, si son correctos o no eso ya no te lo puedo decir por que no puedo ver la imagen.

Vuelvo a indicar que todo funciona perfectamente cuando hago la prueba a nivel local, donde si tengo permisos de acceso, pero el problema surge cuando lo subo al server, donde no tengo permisos de acceso.

Para arreglar esto estoy intentando averiguar como funcionan las instrucciones:

http://www.php.net/manual/en/function.ini-set.php

ini_set (): que teoricamente permite modificar el php.ini durante la ejecucion del script.
ini_alter ()
ini_get ()
ini_restore ()

Si teneis álgun conocimiento profundo de estas instrucciones os agradeceria un pequeña explicacion.

Un saludo

Última edición por Pandragon; 23/04/2003 a las 05:25
  #18 (permalink)  
Antiguo 23/04/2003, 05:27
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Lo unico que queda es ir haciendo pruebas. Yo creo que debes ser un problema de distintas configuraciones de PHP/web server/Sistema operativo. Haz las pruebas el el servidor de internet, no en el local.

Primera prueba: quita el unlink() (que borra el fichero temporal al que has movido el upload), e intenta acceder a el por el navegador. Si lo ves, es que el fichero se sube correctamente. Si no, ya sabes que el error esta al subir la imagen.

Superada la primera, vamos por la segunda: quita el addslashes() al grabar la imagen. Puede que con la configuracion del PHP ya este añadiendo los slash al hacer el upload y con esa funcion le estes añadiendo de mas. Si con esto se soluciona, para que te funcione tanto en local como en internet, deberias condicionar la ejecucion de addslashes() a la configuracion de PHP (creo que en el manual viene, no se si en addslashes() o en stripslashes()).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #19 (permalink)  
Antiguo 23/04/2003, 05:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Por cierto, en uno de los comentarios de los usuarios en fread() http://www.php.net/manual/en/function.fread.php comenta que para que fread() sea binary-safe (lea correctamente los ficheros binarios) debe desactivarse el magic_quotes_runtime con set_magic_quotes_runtime(0) antes de hacer el fread(). Si no, no se leera correctamente el fichero.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #20 (permalink)  
Antiguo 23/04/2003, 10:03
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Josemi, el problema no esta en el fread(), el fread() dá error por que no se puede ejecutar la función fopen(), y la función fopen() no se puede ejecutar por que open_basedir esta desabilitado.

La solución que propone php es la utilización de la función ini_set o su alias ini_alter, que permite modificar el archivo php.ini temporalmente, pero desgraciadamente mi server tiene esta función deshabilitada por motivos de seguridad.

Por lo tanto, la única solución que me queda es la que propone cluster, subir la imagen a un directotio al que si tenga acceso, ejecutar fopen() y guardar el archivo (una vez que pueda ejecutar la funcion fopen () en un directorio en el que tenga acceso y el resto del script no dara problemas.).

La duda es como hacerlo pues:

Código PHP:
move_uploaded_file($archivo,$nombre);
$fp=fopen($nombre"rb");
$imagen=fread($fp,$tamanio);
$imagen=addslashes($imagen);
fclose($fp);
unlink($nombre); 
no funciona bien.

En cuanto a lo del archivo binario, en la instrucción
[php]
$fp=fopen($nombre, "rb");
[/php*

se lo indico mediante el uso de "rb", donde "b" es el tipo binario.

Gracias y un saludo
  #21 (permalink)  
Antiguo 23/04/2003, 10:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Pensaba que el move_upload_file() te lo hacia bien. Lo que no se es en que path lo esta moviendo, no se cual es el valor de $nombre. Si sige siendo lo que le asignabas antes, es solo el nombre del fichero ('pp.gif'), sin path. Prueba a especificarle el path absoluto. Por cierto, comprueba el valor devuelto por move_uploaded_file(), si es false es que no se ha podido mover.

Y te comentaba lo de fread() porque parecia que decias que si guardaba datos en la BD, y puede ser que el fread() corrompiera los datos al leerlos por lo de magic_quotes_runtime.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #22 (permalink)  
Antiguo 23/04/2003, 10:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
el move_uploaded_file() tal cual lo empleas con $archivo (que llega de $_FILES['imagen']['tmp_name'] y $nombre (que llega de $_FILES['image']['name'] .. debería guardarte en el mismo directorio que ejecutes ese script (el cual tendrá que tener permisos de escritura al menos) el archivo que has subido por tu "Upload HTTP" ..

Tambien tienes funciones tipo is_uploaded_file() para comprobar si el archivo ha subido (llegó al tmp_ ..) para que puedas luego moverlo o copiarlo ..

A todo esto .. revisa en tu phpinfo() del servidor donde no te funciona el tema de:

Cita:
; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir =/tmp

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
Sobre todo la directiva: file_uploads y que el directorio temporal para los "uploads" sea alguno distinto de "no value" (ademas de que el tamaño máx. de archivo sea mayor de 0) .. Si alguna de estas directivas no tiene esos valores (aprox.) No estará habilitado el "Upload" en ese servidor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 23/04/2003 a las 10:31
  #23 (permalink)  
Antiguo 23/04/2003, 13:22
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Primero agradeceros vuestro interes.

segundo, e implementado la siguiente funcion en mi script para comprobar si se subia correctamente el archivo:
Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
{
echo 
"el archivo se ha subido bien";
}
else {
echo 
"el archivo no se ha subido";
}
move_uploaded_file($archivo,"imagen.jpg"); 
El resultado ha sido:

el archivo se ha subido bien.

Con lo cual entiendo que hasta el fichero temporal lo sube bien.

tercero las variables del sistema estan configuradas de la siguiente forma:

file_uploads= 1
upload_tmp_dir= /tmp/
upload_max_filesize= 1M.

Con lo cual teoricamente permite la subida de ficheros, ya comprobada anteriormente.

cuarto ya he intentado colocar el path completo, con el consiguiente aviso de que no estoy autorizado, el porque pues ya he pasado la correspondiente pregunta al servicio tecnico del hosting, ya veremos que me contestan.

en fin seguire probando

Gracias y un saludo
  #24 (permalink)  
Antiguo 23/04/2003, 22:20
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Y si haces...
Código PHP:
move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'], "imagen.jpg"); 

<editado>
y despues ...
Código PHP:
print_r(stat("imagen.jpg")); 
para saber si se movio correctamente.

Recuerda que como te dijeron, move_uploaded_file() devuelve un bool, osea que puedes hacer:
[PHP]
if (move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'], "imagen.jpg")) {
echo "se movio";
} else echo "no se movio";
</editado>

Última edición por fran86; 23/04/2003 a las 22:27
  #25 (permalink)  
Antiguo 27/04/2003, 06:01
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
Muchas gracias por vuestra ayuda, ya lo he solucionado

Un saludo
  #26 (permalink)  
Antiguo 27/04/2003, 17:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pandragon

Y despues de todas las recomendaciones .. cual era el problema y su solución final? ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #27 (permalink)  
Antiguo 27/04/2003, 17:44
Avatar de Pandragon  
Fecha de Ingreso: abril-2003
Ubicación: Alicante - España
Mensajes: 66
Antigüedad: 21 años
Puntos: 0
El problema estaba en el open_basedir desabilitado, y la solucion ha sido pelearme con el hosting, y ante su negativa a cambiarme esa variable de la configuración del php aduciendo que estaba desabilitada por motivos de seguridad, buscarme un hosting donde si estuviera habilitada.

Ya se que la solución no ha sido muy ortodoxa, y que posiblemente, profundizando más en la raíz del problema, se podría haber solucionado a través de programación, pero esta me ha parecido mas rapida.

No obstante, como sigo manteniendo cuenta con ellos, seguiré intentándole darle una solución a través de programación, si lo logro os postearé como por si a alguno le sirve para algo.

Muchas gracias por vuestra ayuda.

Un Saludo
  #28 (permalink)  
Antiguo 28/04/2003, 11:33
Avatar de kawoq  
Fecha de Ingreso: mayo-2002
Ubicación: Xela
Mensajes: 491
Antigüedad: 21 años, 10 meses
Puntos: 0
Pandragon
Código PHP:
mysql_select_db($database_divXHispano$divXHispano); 
tu variable $divXHispano es: ¿?

Gracias por la respuesta
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 02:59.