Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2004, 08:41
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa move_uploaded_file() en lugar de copy()

Podrías usar también en lugar de $HTTP_POST_FILES usar $_FILES (si usas PHP 4.1.0 en adelante) . .es más seguro.

El "safe mode" lo puedes controlar con la función safe_mode del php.ini (si es que tienes acceso a el) .. También puedes configurar otras directivas (en modo safe mode a ON) para permitir a PHP moverse por el /tmp (o directorio donde PHP sube sus archivos de forma temporal y que define: upload_tmp_dir de tu php.ini) por ejemplo en open_base_dir (añadiendo esa ruta ahí) .. o en otras afines al safe_mode_?¿?¿ que hay.

(No tienes acceso al PHP.ini si usas un servicio de hosting).

Por otro lado .. tanto con la función move_uploaded_file() .. como en copy() . .HAY que indicar una ruta absoluta y el nombre del archivo que quedará una vez que lo suba . .no puedes "asumir" que la función le va a dar el mismo nombre que el archivo que subió ..

Código PHP:
copy($HTTP_POST_FILES['userfile'] ['tmp_name'], "catalogo/prueba/".$HTTP_POST_FILES['userfile']['name']); 
Y .. OJO con el /catalogo ... ese / entiende un S.O. Linux (*NIX) que te refieres al "RAIZ" (root) de ese sistema de archivos de ese servidor .. NO se refiere a lo que tu ves como "raiz" al entrar por FTP a tu sitio .. Por eso debes indicar una ruta absoluta (con $_SERVER['DOCUMENT_ROOT'] o en tu phpinfo() podrías ver cual es .. También lo ves en ese mensaje de error que te ha dado dicha función:

/home/users/uks22202/html/zenimages.co.uk/

Por ende .. lo mejor sería:

Código PHP:
move_uploaded_file($HTTP_POST_FILES['userfile'] ['tmp_name'], "/home/users/uks22202/html/zenimages.co.uk/
catalogo/prueba/"
.$HTTP_POST_FILES['userfile']['name']); 
(y recuerda que si usas PHP 4.1.0 o mayor . usa $_FILES en lugar del $HTTP_POST_FILES ..)

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