Foros del Web » Programando para Internet » PHP »

Problema al subir archivo

Estas en el tema de Problema al subir archivo en el foro de PHP en Foros del Web. Hola! tengo un script para subir arhivos al servidor, funciona perfectamente con un archivo de 500 kb pero da error de acceso a la carpeta ...
  #1 (permalink)  
Antiguo 07/07/2004, 14:23
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 16 años, 2 meses
Puntos: 59
Problema al subir archivo

Hola! tengo un script para subir arhivos al servidor, funciona perfectamente con un archivo de 500 kb pero da error de acceso a la carpeta de destino cuando el archivo pesa algo más (2 o 4 megas)
Error:
Warning: copy(): Unable to access in /furanet/sites/parejaslibres.com/web/htdocs/admin/subirvideo.php on line 44
A qué se debe ese error?

imprimo el znippet que sube el archivo:

Código PHP:

  $path 
"/furanet/sites/parejaslibres.com/web/htdocs/files/videos/";
  
$fichero $path "/" $archivo_name;
  
copy($archivo$fichero); 
Ahora el código completo:

Código PHP:

<?php
// Control anti-cache
header("Expires: 0");
header("Pragma: no-cache");

include(
"config.inc.php");

// Configuración de variables

$path "/furanet/sites/parejaslibres.com/web/htdocs/files/videos/";
/* Ruta dentro del servidor hacia el directorio en
   donde se almacenan los archivos. */

$url "http://www.parejaslibres.com/files/videos";
/* URL absoluta del directorio en donde se almacenan
   los archivos. */

$tam 50;
/* Tamaño máximo para los archivos que sean enviados *DESACTIVADO*.
   (en kilobytes) */

$abpath "../videos/videoimages";
/* Directorio donde se almacenan las imágenes de los videos */

$tempo rand (100000000999999999);
/* definimos un número al azar para renombrar las imagenes*/

if(isset($send)) {
 
$dir opendir($path);
 while(
$arch readdir($dir))
  
$directorio[count($directorio)] = $arch;
 
closedir($dir);
 
$mensaje "<font face=\"Verdana, Arial\" size=2>\n";
 if(
$archivo == "none") {
  
$mensaje .= "No ha seleccionado ningún archivo para agregar a la lista. ";
  
$mensaje .= "Por favor inténtelo de nuevo.";
 }
 elseif(
in_array($archivo_name,$directorio)) {
  
$mensaje .= "Ya existe un archivo con el nombre <b>$archivo_name</b>";
  
$mensaje .= "Por favor inténtelo de nuevo.";
 }
 else {
  
$fichero $path "/" $archivo_name;
  
copy($archivo$fichero);
  @
copy($img2"$abpath/$img1_name") or $log .= "Couldn't copy image 1 to server<br>";
  @
copy($img2"$abpath/$img2_name") or $log .= "Couldn't copy image 2 to server<br>";
  @
copy($img3"$abpath/$img3_name") or $log .= "Couldn't copy image 3 to server<br>";
  @
copy($img4"$abpath/$img4_name") or $log .= "Couldn't copy image 4 to server<br>";
  
  
rename ("$abpath/$img1_name""$abpath/$tempo$img1_name");
  
rename ("$abpath/$img2_name""$abpath/$tempo$img2_name");
  
rename ("$abpath/$img3_name""$abpath/$tempo$img3_name");
  
rename ("$abpath/$img4_name""$abpath/$tempo$img4_name");
  
  
  
//Llamamos al script de comvive para insertar en su base de datos y obtener una página con el ID del archivo
$cvv fopen("http://sms.comvive.com/insercion/parejaslibres/inserccion.php?ruta=www.parejaslibres.com/files/videos/".$archivo_name."&num_sms=1" "r");

//imprimimos el contenido de la página de confirmación (OK #id)
if ($cvv) {

while (!
feof($cvv)) {

$linea fgets($cvv255);

echo 
$linea;

}

}

echo 
"<b>".$linea."</b><br>";
//borramos el OK y el espacio para quedarnos solo con el ID de comvive
$id_cvv str_replace("OK ","",$linea); 
echo 
"<b>".$id_cvv."</b><br>";
  
//Insertamos en la Base de Datos nuestra
  
mysql_query("insert into videos (video,img1,img2,img3,img4,descripcion,id_cvv,titulo) values ('$archivo_name','$tempo$img1_name','$tempo$img2_name','$tempo$img3_name','$tempo$img4_name','$descripcion','$id_cvv','$titulo')",$link);


 
// $kb = filesize($fichero) / 1024;
  /*if($kb > $tam) {
   unlink($fichero);
   $mensaje .= "No puede ser agregado ya que ha pasado el tamaño permitido. ";
   $mensaje .= 
"Actualmente sólo permitimos archivos de hasta $tam kb.";
  }
  else {*/
   
$mensaje .= "el archivo ha sido agregado exitosamente. ";
   
//}
   
fclose ($cvv);
 }
 
$mensaje .= "</font><br><hr><br>\n";

}

?>
__________________
Cool Village
@Wakkos

Última edición por Wakkos; 07/07/2004 a las 14:25
  #2 (permalink)  
Antiguo 07/07/2004, 14:30
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
haz un <?=phpinfo()?> y mira a ver que valor tienes en el parametro upload_max_filesize . Es probable que esté configurado para un máximo de 2 megas
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 07/07/2004, 14:34
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 16 años, 2 meses
Puntos: 59
si, tendré que hablar con los del servidor para que me suban eso ;) gracias!!!
__________________
Cool Village
@Wakkos
  #4 (permalink)  
Antiguo 07/07/2004, 15:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tambien te ayudará aumentar el tiempo de proceso de tu script de "upload".

Eso lo puedes hacer tu mismo desde tu script vía la función:

set_time_limit()
www.php.net/set_time_limit

Otro consejo:
En lugar de copy() para mover el archivo que subes a su destino definitivo . .usa move_uploaded_file() (te evitará problemas en configuraciones de PHP con "safe mode" a ON u open_base_dir mas restrictivos ..)


Un saludo,
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 12:49.