Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2006, 08:57
arbol
 
Fecha de Ingreso: octubre-2003
Ubicación: capital
Mensajes: 17
Antigüedad: 20 años, 6 meses
Puntos: 0
Problema al subir varios archivos

Estoy tratando de armar un script para el upload de 10 archivos (Box 0 al Box 10) y obtengo el siguiente error para el Box 2 en adelante:

Warning: move_uploaded_file(c:/appserv/www/ATutor/content/) [function.move-uploaded-file]: failed to create stream: Permission denied in c:\appserv\www\atutor\tools\tests\create_question_ drag_drop_img.php on line 151

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'c:\temporal\php3354.TMP' to 'c:/appserv/www/ATutor/content/' in c:\appserv\www\atutor\tools\tests\create_question_ drag_drop_img.php on line 151

En el script pongo el siguiente codigo para el Box 2:
Código PHP:
        //Muevo el archivo de imagen al servidor
        
$nombre_archivo_2   $_FILES['choice_file']['name'][2]; //Nombre del archivo en maquina    usuario
        
$tipo_archivo_2     $_FILES['choice_file']['type'][2]; //Tipo de archivo a subir al servidor
        
$tamano_archivo_2   $_FILES['choice_file']['size'][2]; //Tamaño del archivo a subir
        
$directorio               $_SERVER["DOCUMENT_ROOT"];

//Controlo errores
        
if($nombre_archivo_2!=""){
        
//compruebo si las características del archivo son las que deseo
        
if ((!(strpos($tipo_archivo_2,"pjpeg") || strpos($tipo_archivo_2"gif")) && ($tamano_archivo_2 500000))){
        
$msg->addError('FILE_ERROR_BOX2');
        }
        else{
            if (
move_uploaded_file($_FILES['choice_file']['tmp_name'][2],$directorio."/ATutor/content/".$nombre_archivo)){
              
//  $msg->addError('FILE_UPLOADED_BOX2');
            
}
            else{
                
$msg->addError('UPDATE_ERROR_BOX2');
            }
        }
    }

// Fin mover archivos 
Este ejemplo es para el box 2 (Yo puse desde el Box 0 al Box 9) y todos son iguales solo cambio el $_FILES por ej para box 0 seria $_FILES['choice_file']['name'[0] y asi en cada uno.

Lo raro es que cuando lo ejecuto funciona para el box 0 y el box 1. A partir del box 2 da el error. Inclusive si comento el codigo del Box 0 y el Box 1 como para comenzar por el box 2 da error, si comento este y comienzo por el box 3 o 4 o 5, etc pasa lo mismo. Solo toma box 0 y 1.

El codigo para el Box 0 es el mismo para box 2 (cambiando algunas variables)
[php]
//Muevo el archivo de imagen al servidor
$nombre_archivo_0 = $_FILES['choice_file']['name'][0]; //Nombre del archivo en maquina usuario
$tipo_archivo_0 = $_FILES['choice_file']['type'][0]; //Tipo de archivo a subir al servidor
$tamano_archivo_0 = $_FILES['choice_file']['size'][0]; //Tamaño del archivo a subir
$directorio = $_SERVER["DOCUMENT_ROOT"];

//Controlo errores
//compruebo si las características del archivo son las que deseo
if ((!(strpos($tipo_archivo_0,"pjpeg") || strpos($tipo_archivo_0, "gif")) && ($tamano_archivo_0 < 500000)&&(isset($_POST['subio_0'])))){
$msg->addError('FILE_ERROR_BOX0');
}
else{
if (move_uploaded_file($_FILES['choice_file']['tmp_name'][0],$directorio."/ATutor/content/".$nombre_archivo_0)){

// $msg->addError('FILE_UPLOADED_BOX0');
$_POST['subio_0'] = "si";
}
else{
$msg->addError('UPDATE_ERROR_BOX0');
}
}

// Fin mover archivos
[php]

En el form utilizo los siguientes campos:
Código PHP:
<input type="file" name="choice_file[]" id="choice_file[]" lang="es" />
<
input type="file" name="choice_file[]" id="choice_file[]" lang="es" />
<
input type="file" name="choice_file[]" id="choice_file[]" lang="es" /> 
... y asi 10 veces

Lo que no puedo entender es porque funciona para los dos primeros y no para el resto. Ya probe cambiar el php.ini y httpf.conf segun lo que lei en el foro y en las faq pero nada

Desde ya muchas gracias

----------------------------------------------------------
SO: Windows 98
Servidor: Apache 2.0
Php: 5.3
----------------------------------------------------------

Última edición por Cluster; 10/07/2006 a las 09:07