Hola,
¿Te refieres a URL o a path? Es decir, tu te refieres a
www.dominio.com/nn/uno.php uno.php llama al archivo
www.dominio.com/foto/hola.jpg
o a
c:/nn/uno.php uno.php llama al archivo c:/foto/hola.jpg
Si el lo primero, estas refieriendote a las URLs. Y copy() requiere que le especifiques el path. Para crear el path a partir de la URL, debes saber que path corresponde al directorio raiz del sitio, el
www.dominio.com. En condiciones normales, es el DOCUMENT_ROOT ($_SERVER['DOCUMENT_ROOT']). Asi podria quedar:
Código PHP:
$RUTA_UPLOADED = $_SERVER['DOCUMENT_ROOT']."/publi/fotos/"; /* quiero que mande las fotos a este directorio */
$NOMBRE_FILE =$patente."." . end($extension);
copy($HTTP_POST_FILES['userfile']['tmp_name'][$i],
$RUTA_UPLOADED . $NOMBRE_FILE); /* pero al querer mandarlo siempre me marca error */
Tu problema era que al especificar el path comenzndo con /, le estabas diciendo que era un directorio de c: (en el mundo UNIX).
A veces tambien funciona usando path relativos en lugar de absolutos. En el caso descrito, donde el .php esta en un subdirectorio
Código PHP:
$RUTA_UPLOADED = "../publi/fotos/"; /* quiero que mande las fotos a este directorio */
$NOMBRE_FILE =$patente."." . end($extension);
copy($HTTP_POST_FILES['userfile']['tmp_name'][$i],
$RUTA_UPLOADED . $NOMBRE_FILE); /* pero al querer mandarlo siempre me marca error */
es decir, que vuelva al directorio anterior y a partir de ahi en ese subdirectorio.
Espero haber sido de ayuda.