Comunidad de diseño web y desarrollo en internet online

Problema para subir archivos por ftp y php

Citar            
MensajeEscrito el 04 Sep 2008 12:55 am
Hola, tengo un problema… Lo que necesito es subir archivos al servidor de unos 15mb más o menos. Encontré un script en Internet que haga esto, supuestamente funciona con una conexión ftp, y lo adapte con otras funciones mas que necesito.

El tema es que con archivo pequeños funciona perfectamente, pero con otros del tamaño que necesito no pasa nada, ni siquiera me da un error! Simplemente deja de cargar y no pasa nada.


El script es el siguiente:

Código :

<?php
      include("../incluir/conector.php");

      $agregar=$_POST['agregar'];
      if (empty($agregar))
      {}
      else
      {

      error_reporting(E_ALL);
  
        define("ALTURA", 75);
      define("NAMETHUMB", "/tmp/thumbtemp");

        $mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
        $name = $_FILES["foto"]["name"];
        $type = $_FILES["foto"]["type"];
        $tmp_name = $_FILES["foto"]["tmp_name"];
        $size = $_FILES["foto"]["size"];
        
      if(!in_array($type, $mimetypes))
       die("El archivo que subiste no es una imagen valida");
  
        switch($type)
      {
       case $mimetypes[0]:
       case $mimetypes[1]:
         $img = imagecreatefromjpeg($tmp_name);
         break;
       case $mimetypes[2]:
         $img = imagecreatefromgif($tmp_name);
         break;
       case $mimetypes[3]:
         $img = imagecreatefrompng($tmp_name);
         break;
        }
      
      
        $datos = getimagesize($tmp_name);
        $ratio = ($datos[1]/ALTURA);
        $ancho = round($datos[0]/$ratio);
        $thumb = imagecreatetruecolor($ancho, ALTURA);
        imagecopyresized($thumb, $img, 0, 0, 0, 0, $ancho, ALTURA, $datos[0], $datos[1]);
        
      switch($type)
      {
       case $mimetypes[0]:
       case $mimetypes[1]:
        imagejpeg($thumb, NAMETHUMB);
        break;
       case $mimetypes[2]:
         imagegif($thumb, NAMETHUMB);
         break;
       case $mimetypes[3]:
         imagepng($thumb, NAMETHUMB);
         break;
        }
      
        $fp = fopen($tmp_name, "rb");
        $tfoto = fread($fp, filesize($tmp_name));
        $tfoto = addslashes($tfoto);
        fclose($fp);
        
      $fp = fopen(NAMETHUMB, "rb");
        $tthumb = fread($fp, filesize(NAMETHUMB));
        $tthumb = addslashes($tthumb);
        fclose($fp);
  
        @unlink($tmp_name);
        @unlink(NAMETHUMB);
//////////////////////////////////////////// SUBO EL VIDEO FLV Y 3GP //////////////////////////////////  

   $tmpfile = $_FILES['videoflv']['tmp_name'];
   $tmpname = $_FILES['videoflv']['name'];
   
   $tmpfiledos = $_FILES['video3gp']['tmp_name'];
   $tmpnamedos = $_FILES['video3gp']['name'];

   $ftpuser = "******";
   $ftppass = "******";
   
   $ftppath = "200.58.121.186/public_html/videos/flv/";
   $ftpurl = "ftp://".$ftpuser.":".$ftppass."@".$ftppath;
   
   $ftppathdos = "200.58.121.186/public_html/videos/3gp/";
   $ftpurldos = "ftp://".$ftpuser.":".$ftppass."@".$ftppathdos;
   
      $fp = fopen($tmpfile, 'r');
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $ftpurl.$tmpname);
      curl_setopt($ch, CURLOPT_UPLOAD, 1);
      curl_setopt($ch, CURLOPT_INFILE, $fp);
      curl_setopt($ch, CURLOPT_INFILESIZE, filesize($tmpfile));
      curl_exec($ch);
      
      
      $fpdos = fopen($tmpfiledos, 'r');
      $chdos = curl_init();
      curl_setopt($chdos, CURLOPT_URL, $ftpurldos.$tmpnamedos);
      curl_setopt($chdos, CURLOPT_UPLOAD, 1);
      curl_setopt($chdos, CURLOPT_INFILE, $fpdos);
      curl_setopt($chdos, CURLOPT_INFILESIZE, filesize($tmpfiledos));
      curl_exec($chdos);
      
      $error = curl_errno($ch);
      $errordos = curl_errno($chdos);

      
      curl_close ($ch);
      curl_close ($chdos);
//////////////////////////////////////////// SI TODO ESTA OK SIGO ////////////////////////////////////  


        $tags = $_POST["tags"];
        $titulo = $_POST["titulo"];
        $descripcion = $_POST["descripcion"];
  
        $sql = "INSERT INTO livesensual
            (titulo, descripcion, foto, thumb, mime, tags)
            VALUES
            ('$titulo', '$descripcion', '$tfoto', '$tthumb', '$type', '$tags')";
  mysql_query($sql, $link) or die(mysql_error($link));
  
      $respuesta="<div class='enviado'> Video Agregado correctamente </div>";
      }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>livesensual.com</title>
<link rel="stylesheet" type="text/css" href="../incluir/estilo.css" />
</head>

<body>
<div class="contenidos">
<div class="itens">
<font style="font-weight:bold" size="4">AGREGAR VIDEO</font><br />
<? echo "<br />".$respuesta; ?><br />

<form action="agregar_video.php" method="post" enctype="multipart/form-data">
    <table width="400" border="0" cellpadding="4" cellspacing="0" bgcolor="#FEFAFE">
      <tr>
        <td width="82" bgcolor="#FFE8FF">Titulo:</td>
        <td width="312" bgcolor="#FFE8FF"><input name="titulo" type="text" id="titulo" size="40" />
        </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFE8FF">Descripcion:</td>
        <td bgcolor="#FFE8FF"><input name="descripcion" type="text" id="descripcion" size="40" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFE8FF">Tags:</td>
        <td bgcolor="#FFE8FF"><input name="tags" type="text" id="tags" size="40" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFE8FF">Imagen:</td>
        <td bgcolor="#FFE8FF"><input name="foto" type="file" id="foto" size="30" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFE8FF">Video flv:</td>
        <td bgcolor="#FFE8FF"><input name="videoflv" type="file" id="videoflv" size="30" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFE8FF">Video 3gp:</td>
        <td bgcolor="#FFE8FF"><input name="video3gp" type="file" id="video3gp" size="30" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td colspan="2" align="center" valign="middle"><input name="agregar" type="submit" id="agregar" value="Agregar Video" /></td>
      </tr>
    </table>
  </form>
</div>
</body>
</html>



Por favor, si alguien me ayuda se lo agradecería mucho!!!

Por juanpablogongora

40 de clabLevel



Genero:Masculino  

argentina

firefox
Citar            
MensajeEscrito el 04 Sep 2008 03:40 am
mira deberas modificar el php_ini para q te deje cargar archivos grandes averigua como modificar en tienpo de ejecucion el php_ini q son las configuraciones de php revisa por aqui hay un post q tiene com arreglarlo saludos

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 04 Sep 2008 04:39 pm
Los archivos no se pueden subir por medio de FTP, los archivos suben por Http al servidor a través del formulario. A menos que vayas a mover los archivos a otro servidor distinto del que aloja el formulario de subida, la conexión por FTP es superflua, usa mejor move_uploaded_file.

Por otro lado, php suele tener un tamaño máximo de subida de archivos, como decía talcual, es necesario modificar el archivo php.ini para cambiar esto, y no creo que lo puedas modificar si trabajas con hosting compartido, eso ya depende de tu proveedor.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 04 Sep 2008 08:27 pm
Gracias, supuse que ese era el problema… entonces, a demás de modificar el php.ini que otra forma existe para subir archivos grandes al servidor????

Por juanpablogongora

40 de clabLevel



Genero:Masculino  

argentina

firefox
Citar            
MensajeEscrito el 14 Abr 2009 11:20 pm
por partes ;-)

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 22 Abr 2009 08:37 pm
Efectivamente ni pienses en subir archivos de 15 megas a un server a través de HTTP. Dividelos en varias partes y subes una a una.

Piensa que aunque modificando el php.ini el servidor te permitiese hacer esa bestialidad, si en cualquier momento se corta la conexión, se actualiza la página, ocurre lo que sea, en la carpeta del servidor podría quedar basura de 10 ó 12 megas con los ficheros temporales y que aparte de que te van a generar probablemente errores futuros, te está consumiendo recursos.

Por lo tanto, divide en varias partes y a marchar.

Un saludo
JM

Por fnsoftware

10 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.