elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [PHP] Upload video
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PHP] Upload video  (Leído 2,060 veces)
konvicted

Desconectado Desconectado

Mensajes: 4


Ver Perfil
[PHP] Upload video
« en: 6 Diciembre 2007, 04:43 am »

Hola, quiero hacer un upload del video... tengo el html echo...y algo se de php.. pero la verdad me dijeron algo del TEMP q no entendi... les dejo los campos  y porfavor ayudenmen asi lo analizo y trato de aprender como es que se hace xD!!..

el campo file se llama "video".

Muchas gracias a todos.


En línea

alone-in-the-chat


Desconectado Desconectado

Mensajes: 587


Ver Perfil
Re: [PHP] Upload video
« Respuesta #1 en: 6 Diciembre 2007, 05:18 am »

xD tb te armamos la pagina si quieres n_n



En línea

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: [PHP] Upload video
« Respuesta #2 en: 6 Diciembre 2007, 14:15 pm »

A tu pregunta, lo que creo que necesitas es un codigo php que te permita subir un video a tu server... si es eso aqui te voy a poner un pedazo de codigo fuente para que lo analizes, funciona perfectamente.

Código:
<html>
<head>
<title>::: upload your file :::</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #CC9900;
font-size: 12px;
}
.style5 {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #999999;
}
-->
</style>
</head>
<body>
<br /><br />
<div class="main">
  <div id="left">
  <table width="353" border="0">
      <tr>
        <td><div align="center" class="style1">
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>Suba su archivo</p>
        </div>
          <table width="383" height="139" border="0">
            <tr>
              <td><div align="center">
                <p align="center">&nbsp;</p>
                <p align="center" class="style5">


<?php
function pArray($array) {
print '<pre style="background:#faebd7">';
print_r($array);
print '</pre>';
}

require_once('upload.class.php');

$Upload = new Upload();

if (!Empty($_POST['submit'])) {
   
//formato del archivo

    $Upload-> Extension = '.flv;.mp4;.wav;.mpeg;';
   
    $Upload-> DirUpload    = '.';
       
    $Upload-> Execute();
       
    if ($UploadError) {
        print 'Ha ocurrido un error :';
        pArray($Upload-> GetError());
    } else {
    print 'Su archivo ha sido cargado con exito, muchas gracias ::';
        print 'La carga de su archivo ha generado el siguiente suceso::';
        pArray($Upload-> GetSummary());
    }
}

//tamaño del archivo a subir

$Upload-> MaxFilesize  = '1024';

$Upload-> FieldOptions = 'style="border-color:black;border-width:1px;"';

$Upload-> Fields       = 2;

$Upload-> InitForm();
?>


<form method="post" enctype="multipart/form-data" name="formulaire" id="formulaire" action="subir.php">
<?php

print $Upload-> Field[0];

print $Upload-> Field[1] . '<br>';

print $Upload-> Field[2];
?>
<br>
<input type="submit" value="Subir archivo" name="submit">
</form>




&nbsp;</p>
                </div></td>
            </tr>
          </table>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p></td>
      </tr>
    </table>
<br/>
</div>
<div id="footer"></div>
</div>
</body>
</html>

este es el primer php para la subida de un archivo, pero para que funcione necesitas tener este otro...

este php debe estar con el nombre de upload.class.php

Código:
<?php

global $UploadError;

class Upload {
   
    var $MaxFilesize;
       
    var $ImgMaxWidth;
       
    var $ImgMaxHeight;
       
    var $ImgMinWidth;
       
    var $ImgMinHeight;
       
var $DirUpload;
       
var $Debit;
       
var $Fields;
       
var $FieldOptions;
       
var $Required;
       
var $SecurityMax;
       
var $Filename;
       
var $Prefixe;
       
var $Suffixe;
       
var $WriteMode;
       
var $CheckReferer;
       
var $MimeType;
       
var $TrackError;
           
function Upload() {
$this-> Extension    = '';
        $this-> DirUpload    = '';
        $this-> MimeType     = '';
$this-> Filename     = '';
        $this-> FieldOptions = '';
$this-> Fields       = 1;
$this-> WriteMode    = 0;
        $this-> Debit        = 33.6;
        $this-> SecurityMax  = false;
$this-> CheckReferer = false;
        $this-> Required     = false;
        $this-> TrackError   = true;
        $this-> ArrOfError   = Array();
        $this-> MaxFilesize  = ereg_replace('M', '', ini_get('upload_max_filesize')) * 1024;
}
 
function InitForm() {
$this-> SetMaxFilesize();
        $this-> CreateFields();
}
       
    function GetError($num_field='') {
        if (Empty($num_field)) return $this-> ArrOfError;
        else                  return $this-> ArrOfError[$num_field];
    }

    function GetSummary($num_field='') {
        if ($num_field == '') return $this-> Infos;
        else                  return $this-> Infos[$num_field];
    }

function Execute(){
        $this-> CheckConfig();
$this-> VerifyReferer();
$this-> SetTimeLimit();
$this-> CheckUpload();
}

function CheckUpload() {
global $UploadError;
               
for ($i=0; $i < count($_FILES['userfile']['tmp_name']); $i++)  {
           
            $this-> _field = $i+1;                               
$this-> _size  = $_FILES['userfile']['size'][$i];     
$this-> _type  = $_FILES['userfile']['type'][$i];     
$this-> _name  = $_FILES['userfile']['name'][$i];     
$this-> _temp  = $_FILES['userfile']['tmp_name'][$i];
$this-> _ext   = strtolower(substr($this-> _name, strrpos($this-> _name, '.')));

if (is_uploaded_file($_FILES['userfile']['tmp_name'][$i])) {
$this-> CheckSecurity();
$this-> CheckMimeType();
$this-> CheckExtension();
                $this-> CheckImg();
} else $this-> AddError($_FILES['userfile']['error'][$i]);

            if (!isset($this-> ArrOfError[$this-> _field])) $this-> WriteFile($this-> _name, $this-> _type, $this-> _temp, $this-> _size, $this-> _ext, $this-> _field);
            else $UploadError = true;
}
}


function WriteFile($name, $type, $temp, $size, $ext, $num_field) {
       
        $new_filename = NULL;
       
        if (is_uploaded_file($temp)) {
           
           
            if (Empty($this-> Filename)) $new_filename = $this-> CleanStr(substr($name, 0, strrpos($name, '.')));
            else $new_filename = $this-> Filename;
           
           
            $new_filename = $this-> Prefixe . $new_filename . $this-> Suffixe . $ext;
           
            switch ($this-> WriteMode) {
               
                case 0 : $uploaded = move_uploaded_file($temp, $this-> DirUpload . $new_filename);
                         break;
                   
               
                case 1 : if ($this-> AlreadyExist($new_filename)) $new_filename = 'copie_de_' . $new_filename;
                $uploaded = move_uploaded_file($temp, $this-> DirUpload . $new_filename);
                break;
               
               
                case 2 :  if ($this-> AlreadyExist($new_filename)) $uploaded = true;
                          else $uploaded = move_uploaded_file($temp, $this-> DirUpload . $new_filename);
                          break;
            }
                       
            if ($uploaded != false) {
                $this-> Infos[$num_field]['nom']          = $new_filename;
                $this-> Infos[$num_field]['nom_originel'] = $name;
                $this-> Infos[$num_field]['chemin']       = $this-> DirUpload . $new_filename;
                $this-> Infos[$num_field]['poids']        = number_format(filesize($this-> DirUpload . $new_filename)/1024, 3, '.', '');
                $this-> Infos[$num_field]['mime-type']    = $type;
                $this-> Infos[$num_field]['extension']    = $ext;
            }
           
            return true;
        }
       
        return false;
}

function AlreadyExist($file) {
if (!file_exists($this-> DirUpload . $file)) return false;
else return true;
}



function CheckImg() {
       
        if ($taille = @getimagesize($this-> _temp) ) {
        if (!Empty($this-> ImgMaxWidth)  && $taille[0] > $this-> ImgMaxWidth)  $this-> AddError(8);
        if (!Empty($this-> ImgMaxHeight) && $taille[1] > $this-> ImgMaxHeight) $this-> AddError(9);
            if (!Empty($this-> ImgMinWidth)  && $taille[0] < $this-> ImgMinWidth) $this-> AddError(10);
            if (!Empty($this-> ImgMinHeight) && $taille[1] < $this-> ImgMinHeight) $this-> AddError(11);
        }
       
        return true;
}



function CheckExtension() {
        $ArrOfExtension = explode(';', strtolower($this-> Extension));
       
if (!Empty($this-> Extension) && !in_array($this-> _ext, $ArrOfExtension)) {
            $this-> AddError(7);
            return false;
}
       
return true;
}



function CheckMimeType() {
        $ArrOfMimeType = explode(';', $this-> MimeType);
       
        if (!Empty($this-> MimeType) && !in_array($this-> _type, $ArrOfMimeType)) {
            $this-> AddError(6);
return false;
}
       
return true;
}



    function AddError($code_erreur) {
       
 
        switch ($code_erreur) {
            case 1 : $msg = 'Le fichier à charger excède la directive upload_max_filesize (php.ini) ('. $this-> _name .')';
                     break;
           
            case 2 : $msg = 'Le fichier excède la directive MAX_FILE_SIZE qui a été spécifiée dans le formulaire ('. $this-> _name .')';
                     break;
           
            case 3 : $msg = 'Le fichier n\'a pu être chargé complètement ('. $this-> _name .')';
                     break;
           
            case 4 : $msg = 'Le champ du formulaire est vide';
                     break;
           
            case 5 : $msg = 'Fichier potentiellement dangereux ('. $this-> _name .')';
                     break;
           
            case 6 : $msg = 'Le fichier n\'est pas conforme à la liste des entêtes autorisés ('. $this-> _name .')';
                     break;
           
            case 7 : $msg = 'Le fichier n\'est pas conforme à la liste des extensions autorisées ('. $this-> _name .')';
                     break;
           
            case 8 : $msg = 'La largeur de l\'image dépasse celle autorisée ('. $this-> _name .')';
                     break;
           
            case 9 : $msg = 'La hauteur de l\'image dépasse celle autorisée ('. $this-> _name .')';
                     break;
           
            case 10 : $msg = 'La largeur de l\'image est inférieure à celle autorisée ('. $this-> _name .')';
                      break;
           
            case 11 : $msg = 'La hauteur de l\'image est inférieure à celle autorisée ('. $this-> _name .')';
                      break;
        }
       
       
        if ($this-> Required && $code_erreur == 4) $this-> ArrOfError[$this-> _field][$code_erreur] = $msg;
        else if ($code_erreur != 4)                $this-> ArrOfError[$this-> _field][$code_erreur] = $msg;
    }
   

function CheckSecurity() {
       
if ($this-> SecurityMax===true) {

            if (ereg ('application/octet-stream', $this-> _type) || preg_match("/.php$|.inc$|.php3$/i", $this-> _ext) ) {
                $this-> AddError(5);
return false;
            }
}

return true;
}


function CheckDirUpload() {
       
        if (Empty($this-> DirUpload)) $this-> DirUpload = dirname(__FILE__);
       
        $this-> DirUpload = $this-> FormatDir($this-> DirUpload);
       

if (!is_dir($this-> DirUpload)) $this-> Error('Le répertoire de destination spécifiée par la propriété DirUpload n\'existe pas.');
     
if (!is_writeable($this-> DirUpload)) $this-> Error('Le répertoire de destination spécifiée par la propriété DirUpload est inaccessible en écriture.');
}

   
    function FormatDir($Dir) {
       
        if (function_exists('realpath')) {
            if (realpath($Dir)) $Dir = realpath($Dir);
        }
       
       
        if ($Dir[strlen($Dir)-1] != DIRECTORY_SEPARATOR) $Dir .= DIRECTORY_SEPARATOR;
       
        return $Dir;
    }

   
function CleanStr($str) {
$return = '';

for ($i=0; $i <= strlen($str)-1; $i++) {
            if (eregi('[a-z]',$str{$i}))              $return .= $str{$i};
elseif (eregi('[0-9]', $str{$i}))         $return .= $str{$i};
elseif (ereg('[àâäãáåÀÁÃÄÅ]', $str{$i})) $return .= 'a';
elseif (ereg('[æÆ]', $str{$i}))           $return .= 'a';
elseif (ereg('[çÇ]', $str{$i}))           $return .= 'c';
elseif (ereg('[éèêëÉÈÊËE]', $str{$i}))    $return .= 'e';
elseif (ereg('[îïìíÌÍÎÏ]', $str{$i}))     $return .= 'i';
elseif (ereg('[ôöðòóÒÓÔÕÖ]', $str{$i}))   $return .= 'o';
elseif (ereg('[ùúûüÙÚÛÜ]', $str{$i}))     $return .= 'u';
elseif (ereg('[ýÿÝŸ]', $str{$i}))         $return .= 'y';
elseif (ereg('[ ]', $str{$i}))            $return .= '_';
elseif (ereg('[.]', $str{$i}))            $return .= '_';
else                                      $return .= $str{$i};
}

return $return;
}

function VerifyReferer() {
if (!Empty($this-> CheckReferer)) {
            $headerref = $_SERVER['HTTP_REFERER'];
           
           
            if (ereg("\?",$headerref)){
    list($url, $getstuff) = split('\?', $headerref);
    $headerref = $url;
    }
           
            if ($headerref == $this-> CheckReferer) return true;
    else $this-> Error('Accès refusé');
        }
}


function SetTimeLimit(){

@set_time_limit(ceil(ceil($this->  $_POST['MAX_FILE_SIZE'] * 8) / ($this-> Debit * 1000) * count($_FILES) * 2));
}


    function SetMaxFilesize() {
        (is_numeric($this-> MaxFilesize)) ? $this-> MaxFilesize = $this-> MaxFilesize * 1024 : $this-> Error('la propriété MaxFilesize doit être une valeur numérique');
    }

    function CreateFields() {
        if (!is_int($this-> Fields)) $this-> Error('la propriété Fields doit être un entier');
       
        for ($i=0; $i <= $this-> Fields; $i++) {
            if ($i == 0)  $this-> Field[] = '<input type="hidden" name="MAX_FILE_SIZE" value="'. $this-> MaxFilesize .'">';
            else          $this-> Field[] = '<input type="file" name="userfile[]" '. $this-> FieldOptions .'>';
        }
    }
   

    function CheckConfig() {
        if (!version_compare(phpversion(), '4.2.0')) $this-> Error('la version de php sur ce serveur est trop ancienne. La classe ne peut fonctionner qu\'avec une version égale ou supérieure à la version 4.1.0');
        if (!is_string($this-> Extension)) $this-> Error('la propriété Extension est mal configurée.');
        if (!is_string($this-> MimeType)) $this-> Error('la propriété MimeType est mal configurée.');
        if (!is_string($this-> Filename)) $this-> Error('la propriété Filename est mal configurée.');
        if (!is_numeric($this-> Debit)) $this-> Error('la propriété Debit est mal configurée.');
        if (!is_bool($this-> Required)) $this-> Error('la propriété Required est mal configurée.');
        if (!is_bool($this-> SecurityMax)) $this-> Error('la propriété SecurityMax est mal configurée.');
        if ($this-> WriteMode != 0 && $this-> WriteMode != 1 && $this-> WriteMode != 2) $this-> Error('la propriété WriteMode est mal configurée.');
        if (!Empty($this-> CheckReferer) && !@fopen($this-> CheckReferer, 'r')) $this-> Error('la propriété CheckReferer est mal configurée.');
        $this-> CheckImgPossibility();
        $this-> CheckDirUpload();
    }
   

    function CheckImgPossibility() {
        if (!Empty($this-> ImgMaxWidth)  && !is_numeric($this-> ImgMaxWidth))   $this-> Error('la propriété ImgMaxWidth est mal configurée.');
        if (!Empty($this-> ImgMaxHeight) && !is_numeric($this-> ImgMaxHeight))  $this-> Error('la propriété ImgMaxHeight est mal configurée.');
        if (!Empty($this-> ImgMinWidth)  && !is_numeric($this-> ImgMinWidth))   $this-> Error('la propriété ImgMinWidth est mal configurée.');
        if (!Empty($this-> ImgMinHeight) && !is_numeric($this-> ImgMinHeight))  $this-> Error('la propriété ImgMinHeight est mal configurée.');
    }
   

    function Error($error_msg) {
        if ($this-> TrackError) {
            echo 'Erreur classe Upload : ' . $error_msg;
            exit;
        }
    }
   
}
?>

Este codigo lo podés encontrar mas completo en www.desarrolloweb.com/scripts/php.php

para la proxima ves que postees al menos investiga por tu cuenta un poco y no vengas con las manos vacias.

--
OHK
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
konvicted

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: [PHP] Upload video
« Respuesta #3 en: 6 Diciembre 2007, 14:29 pm »

muchas gracias, no vine con las manos vacias... lo que pasa es que me empezarno a confundir con el tema de los TEMP y me dijeron que tenia q armar una variable para el TEMP y no entendi...
gracias se agradece.
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: [PHP] Upload video
« Respuesta #4 en: 6 Diciembre 2007, 16:08 pm »

Pido disculpas al moderador, por poner un codigo fuente demasiado extenso.

el link del upload.class.php esta en esta dirección aqui

sorry...

--
OHK
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Upload de archivo
PHP
Shell Root 8 4,394 Último mensaje 9 Junio 2011, 05:50 am
por bomba1990
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines