Función Copy

Necesito subir archivos de texto a través del navegador a un servidor. Para esto uso la función copy de php, y en general no presenta problemas con archivos de tamaño pequeño, pero cuando trato de subir archivos de 3 a 5 MB, incluso puede presentarse la situación de que el usuario necesite subir archivos de mayor tamaño, el programa correo pero no sube ningún archivo. Una vez que el archivo sube se cargan los datos a MySql mediante un Load Data. ¿Tienes alguna idea de por qué no suben los archivos y qué hacer para poder grabarlos?

6 Respuestas

Respuesta
1
La función que estas realizando es un poco lento y termina cerrando el servidor por tiempo excesivo lo recomendable es pasarlo por ftp para evitar esos errores .
Respuesta
1
Hay que configurar los siguientes parámetros en php.ini:
- memory_limit 15M
- max_input_time 3600
- post_max_size 15M
- upload_max_filesize 10
- max_execution_time 0
Con los valores convenientes
y en php. Conf sobre el servidor apache desactivar la directiva LimitRequestBody.
También fíjate en el formulario el tamaño de:
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Respuesta
1
El tamaño máximo permitido de los archivos que se pueden subir se establece en el servidor. Quizá haya un límite, normalmente de 2MB. Para comprobar esto ejecuta el siguiente script php:
<?php
if (ini_get("file_uploads")) {
// Está permitido subir archivos
$tamanio_maximo = ini_get("upload_max_filesize");
} else {
// No está permitido subir archivos
}
?>
En $tamanio_maximo obtendrás el tamaño máximo de archivos que se puede subir.
Si es menor de lo que necesitas, puedes probar a configurar el servidor.
En php.ini:
memory_limit = 128M
post_max_size = 64M
upload_max_filesize = 32M
Para subir ficheros de 32MB, por ejemplo.
También puedes probar a crea un elemento oculto para indicar el tamaño máximo de los archivos que pretendes subir:
<FORM method=post encType=multipart/form-data>
<INPUT type=hidden value=33554432 name=MAX_FILE_SIZE>
<INPUT type=file name=fichero>
<INPUT type=submit value=Enviar>
</FORM>
Comprueba también php.conf:
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 33554432
</Files>
Estos ejemplo son para poder subir archivos de 32MB. Revisa toda esa configuración.
Si no tienes acceso al servidor, ponte en contacto con el administrador para que te diga qué limite tienes y cómo lo puedes aumentar.
Respuesta
1
<%=Texto%>Antes que nada una disculpa se me habia olvidado la contraseña de mi correo y estaba todo lleno de propaganda.
Si el archivo se sube(pero no aparece) y se cargan los datos, todo esto se debe a que tu servidor no acepta tamaños mayores a 2MB. Si revisas tu php.ini veras que hay una variable que indica el tamaño máximo a subir.
Si estas en un HOSTING gratuito no podrás hacer nada, ya que lo hacen para no sobre cargar al server.
Si es un HOSTING de paga, solo solicita el aumento de capacidad.
Respuesta
1
El problema que tienes es por restricciones de tu hosting,
necesitas que tu hosting te de más capacidad para hacer uploads al servidor.
Hola. Perdona la demora. Mil gracias por tu apoyo. El asunto fue cambiar algunos parámetros en el archivo php.info en el servidor. Gracias. Un Saludo.
Respuesta
1
Pueden ser problemas de conexión o de configuración. Mira los límites en los tamaños de archivos en el php y en el servidor web
Gracias por el tiempo dedicado a tu respuesta. Cambié algunos valores del archivo php.ini. Estos fueron: memory_limit = 128M, post_max_size = 64M, upload_max_filesize = 32M. Mil gracias nuevamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas