Comunidad de diseño web y desarrollo en internet online

Problema con Tutorial de Subir por FTP con PHP

Citar            
MensajeEscrito el 22 Nov 2006 12:57 am
Gente, intenté utilizar el código que explican en el tutorial:
http://www.cristalab.com/tutoriales/112/subir-archivos-con-php-por-ftp
donde explican como subir archivos por ftp mediante php, pero... cuando quiero subir cualquier archivo me da el mensaje:

Conectado.
Cambio a modo pasivo
Ingresando a la carpeta de almacenamiento
Clientes Listado.xls
/tmp/phpMO4KrZ
subiendo el archivo...
Excede el tamaño del archivo...
Ruta: /var/www/html/xls/archivos/Clientes Listado.xls


Yo intenté modificar en el código cuando especifica el tamaño máximo:
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
y le cambié el "1000" por "10000" y así fui subiendo pero nada.. siempre da el mismo error.
Le di permisos 777 a las carpetas donde se guardan, pero nada... :(

Me podrán ayudar? )

Gracias de antemano!

Por CeRvEcErO

1 de clabLevel



 

Argentina

msie7
Citar            
MensajeEscrito el 22 Nov 2006 02:35 am
Holas, soy el autor del tutorial, hazle un echo a esto $tama = $_FILES["archivo"]["size"]; y revisa lo que te arroja, actualiza tu caché por si acaso, no deberías tener mayor problema, también podrías de paso revisar el tamaño d tu archivo, digo, sólo por si acaso... saludos!

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 22 Nov 2006 11:03 am
Intenté con lo que me dijiste y me da el mismo error.
Probé con archivos de 2k hasta 1mb y hasta con los mas chiquitos da error.
No será problema de que no tenga habilitadas las funciones ftp en la configuración de la versión de PHP??
(aclaro: no se si están o no, le mandé un mail a mi host a ver que me dice, pero será esto?)

Te paso la url con los fuentes que armé para que puedas verlo:
http://www.andinavet.com/xls/xls.rar

Gracias por tu respuesta.

Saludos,

CeRvEcErO

Por CeRvEcErO

1 de clabLevel



 

Argentina

msie7
Citar            
MensajeEscrito el 22 Nov 2006 03:18 pm
No he encontrado error alguno, revisa si tienes activado por parte d tru proveedor todo lo necesario, he dedecirte que este código lo he usado muchas veces y me funciona siempre.

Por cierto, te recuerdo que está expresado en KB's por lo que esos 1000 equivale a casí 1KB ... quizá por ahí este la cosa

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 22 Nov 2006 05:13 pm

Aoyama escribió:

Por cierto, te recuerdo que está expresado en KB's por lo que esos 1000 equivale a casí 1KB ... quizá por ahí este la cosa

Si, lo llevé hasta 5000000 paulatinamente y nada... vamos a ver que me dicen del host y te cuento.
Gracias por seguirme el tema! ;)

Por CeRvEcErO

1 de clabLevel



 

Argentina

msie7
Citar            
MensajeEscrito el 12 Feb 2009 10:42 am
Buenas, soy nuevo en este sitio, y tenia una duda.

Necesitaba subir imagenes desde ftp para que un usuario de mi web (bueno, una de las webs con las que trabajo) pudiera subir sus propias imagenes al servidor cuando quisiera.

He probado este script y otros, pero me da el mismo problema que a Cervecero, me dice que: "subiendo el archivo...
Excede el tamaño del archivo...".

Ya comprobe que tamaño máximo de post y subida de archivos tenia mi servidor, y tenia de sobra ( 8 megas), para los archivos que yo necesito subir.
También comprobe la variable MAX_FILE_SIZE, dandole distintos valores, etc. Pero no hay manera, consigo conectarme, cambiar de directorio etc, pero siempre me da el problema del tamaño (quién dice que el tamaño no importa...).

Se llego a alguna solución con este post¿?, He estado buscando en el foro, pero no encontre ningun tema que siguiera con este, alguien sabe que es lo que ocurre exactamente¿?

Gracias por la atención ^^.

Por Zabal

0 de clabLevel



 

Aquel lugar donde no brilla el sol (el polo sur)

firefox
Citar            
MensajeEscrito el 11 Abr 2009 07:08 am
Bueno men yo tengo un upload

aver prueba con este code

solo has en tu servidor una carpeta que se llame tmp ya que ahi mandara los archivos que suba

en este code no tiene limite del tamaño de archivo

sube archivos de cualquier tamaño

despues de crear la carpeta crea un archivo que se llame hosting.php y mete ahi estos dos codes


Código :

<?php 
$varrand = substr(md5(uniqid(rand())),0,10);      
$varpath = "http://tuwebaqui.com/tmp/";
$varstat = "";

if ($_POST["action"] == "upload") {
   if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
      $varname = $_FILES["imagen"]['name'];
      $vartemp = $_FILES['imagen']['tmp_name'];
      $vartype = $_FILES['imagen']['type'];
      
      if (in_array && $varname != "") {
         $arrname = explode(".", $varname);
         $varname = $varrand.".".$arrname[1];
         if (copy($vartemp, "tmp/".$varname)) {
            $varpath = $varpath.$varname;
            $varstat = "ok";
         } else {
            $varstat = "Error al subir el archivo";
         }
      } else {
         $varstat = "Archivo no valido";
      }
   }
}
?>



Aca el code del formulario

Código :

 <form action="hosting.php" method="post" enctype="multipart/form-data">
  <input name="imagen" type="file" class="casilla" id="imagen" size="35" />
  <input name="enviar" type="submit" class="boton" id="enviar" value="  Upload  " />
<input name="action" type="hidden" value="upload" />
</form>


si algo no jala dime y veo bien

Por WEB MASTER TRANCE

3 de clabLevel



 

Mexico

msie7
Citar            
MensajeEscrito el 11 Abr 2009 07:15 am
ahhh y el tutorial de cristalab no es muy bueno y tiene errores

al igual no es necesario poner usuario y pass ni nada de eso

amenos que el host no acepte uploads normales entonces si

perdonen el doble post pero no se como se editan los mensages

Por WEB MASTER TRANCE

3 de clabLevel



 

Mexico

msie7
Citar            
MensajeEscrito el 15 Sep 2009 08:52 pm

WEB MASTER TRANCE escribió:

Bueno men yo tengo un upload

aver prueba con este code

solo has en tu servidor una carpeta que se llame tmp ya que ahi mandara los archivos que suba

en este code no tiene limite del tamaño de archivo

sube archivos de cualquier tamaño

despues de crear la carpeta crea un archivo que se llame hosting.php y mete ahi estos dos codes


Código :

<?php 
$varrand = substr(md5(uniqid(rand())),0,10);      
$varpath = "http://tuwebaqui.com/tmp/";
$varstat = "";

if ($_POST["action"] == "upload") {
   if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
      $varname = $_FILES["imagen"]['name'];
      $vartemp = $_FILES['imagen']['tmp_name'];
      $vartype = $_FILES['imagen']['type'];
      
      if (in_array && $varname != "") {
         $arrname = explode(".", $varname);
         $varname = $varrand.".".$arrname[1];
         if (copy($vartemp, "tmp/".$varname)) {
            $varpath = $varpath.$varname;
            $varstat = "ok";
         } else {
            $varstat = "Error al subir el archivo";
         }
      } else {
         $varstat = "Archivo no valido";
      }
   }
}
?>



Aca el code del formulario

Código :

 <form action="hosting.php" method="post" enctype="multipart/form-data">
  <input name="imagen" type="file" class="casilla" id="imagen" size="35" />
  <input name="enviar" type="submit" class="boton" id="enviar" value="  Upload  " />
<input name="action" type="hidden" value="upload" />
</form>


si algo no jala dime y veo bien



hola hombre tu codigo es muy bueno pero tengo problema
al insertar imagen en mi servidor cambia de nombre automaticamente y es me impide publicarla
porque es distinto en nombre por favor si me podes ayudar.

Por Shady

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Sep 2009 01:24 am
¿Te refieres a que el nombre del archivo en el servidor contiene el nombre original más una serie de caracteres aleatorios?, si es así, pues así es como funciona el script que ha posteado acá WEB MASTER TRANCE.

Para evitar eso elimina estas dos líneas del script:
[php
$arrname = explode(".", $varname);
$varname = $varrand.".".$arrname[1];
[/php]
Eso debería funcionar.

Pero ten en cuenta que a pesar de que el script dice "imagen", el usuario podría subir cualquier cosa, incluso archivos .php y mandarlos a ejecutar en tu hosting.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 16 Sep 2009 05:40 am
Bueno de eso estoy muy consiente asi que bueno si alguien le pudiera decir como impedir que se puedan subir archivos que no sean imagenes se los agradeceria ya que en ese caso no se como impedirle que suba solo imagenes, anteriormente lo habia hecho y se lo hubiera puesto en ves de este pero el problema fue que me hackearon mi sitio y perdi ese archivo y muchos mas.

Bueno sin mas Saludos!!!

Por WEB MASTER TRANCE

3 de clabLevel



 

Mexico

firefox
Citar            
MensajeEscrito el 16 Sep 2009 01:26 pm

DriverOp escribió:

¿Te refieres a que el nombre del archivo en el servidor contiene el nombre original más una serie de caracteres aleatorios?, si es así, pues así es como funciona el script que ha posteado acá WEB MASTER TRANCE.

Para evitar eso elimina estas dos líneas del script:
[php
$arrname = explode(".", $varname);
$varname = $varrand.".".$arrname[1];
[/php]
Eso debería funcionar.

Pero ten en cuenta que a pesar de que el script dice "imagen", el usuario podría subir cualquier cosa, incluso archivos .php y mandarlos a ejecutar en tu hosting.

------------------------------------
Hola
queria agradecerte por la ayuda , segui tus pasos y me funciono de maravilla
por ultimo les agradesco muchisimo la ayuda brindada y espero que sigan adelante.
saludos.

Por Shady

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2009 03:37 am
WEB MASTER TRANCE (y Shady):

Lamento lo de tu web.

Pues hay muchas maneras de hacerlo. Una sencilla y al paso es controlar la extensión del archivo que se está subiendo y no copiarlo si no es un tipo de archivo válido. Sería algo así:

Código PHP :


$extvalid = Array("jpg","jpeg","bmp","gif"); // lista de extensiones válidas

function getFileExtension($str) { // extrae la extensión de un nombre de archivo sin el .
        $i = strrpos($str,".");
        if (!$i) { return ""; }
        $l = strlen($str) - $i;
        $ext = substr($str,$i+1,$l);
        return $ext;
}


$varrand = substr(md5(uniqid(rand())),0,10);      
$varpath = "http://tuwebaqui.com/tmp/";
$varstat = "";

if ($_POST["action"] == "upload") {
   if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
      $varname = $_FILES["imagen"]['name'];
      $vartemp = $_FILES['imagen']['tmp_name'];
      $vartype = $_FILES['imagen']['type'];

$fileext = getFileExtension($varname);
  if (!in_array(strtolower($fileext),$extvalid)) { echo "Tipo de archivo inv&aacute;lido. Debe ser una imagen."; exit; }
      
      if (in_array && $varname != "") {
         if (copy($vartemp, "tmp/".$varname)) {
            $varpath = $varpath.$varname;
            $varstat = "ok";
         } else {
            $varstat = "Error al subir el archivo";
         }
      } else {
         $varstat = "Archivo no valido";
      }
   }
}

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 17 Sep 2009 05:02 am
perfecto!!

ahora me has ayudado a corregir ese problema en mi upload :D

gracias men

Saludos!!!

Por WEB MASTER TRANCE

3 de clabLevel



 

Mexico

msie8

 

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