Icono del sitio Pixelco Tech

EasyUp – Una forma simple de subir archivos al servidor con PHP

Existen innumerables clases PHP que podemos utilizar para subir archivos al servidor. Muchas de estas son algo complejas, por eso hoy vamos a ver una forma muy simple de subir archivos al servidor. Se trata de EasyUp una potente y simple clase PHP para subir archivos al servidor.

EasyUp

EasyUp es la clase que vamos a utilizar para subir archivos desde un formulario web al servidor. Basta sólo con examinar el código para ver la simpleza de esta; incluso si no llegamos a comprender bien como funciona, usarla sigue siendo muy sencillo.

class fileDir {

private $fileInfo;

private $fileLocation;

private $error;

private $direct;

function __construct($dir){

$this->direct = $_SERVER['DOCUMENT_ROOT'].$dir;

if(!is_dir($this->direct)){

die('Supplied directory is not valid: '.$this->direct);

}

}

function upload($theFile){

$this->fileInfo = $theFile;

$this->fileLocation = $this->direct . $this->fileInfo['name'];

if(!file_exists($this->fileLocation)){

if(move_uploaded_file($this->fileInfo['tmp_name'],$this->fileLocation)){

return 'File was successfully uploaded';

} else {

return 'File could not be uploaded';

$this->error = "Error: File could not be uploaded.\n";

$this->error .= 'Here is some more debugging info:';

$this->error .= print_r($_FILES);

}

} else {

return 'File by this name already exists';

}

HTML

El código HTMl que implementa el formulario web que enviará los archivos:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

<input name="myFile" type="file">

<br>

<input name="mySubmit" value="Upload" type="submit">

</form>

Implementación

if(isset($_POST['mySubmit'])){

include 'easyUp.php';

$up = new $fileDir('/myUploads/');

$up->upload($_FILES['myFile']);

}

Este código simplemente verifica que se envió algún archivo, en caso afirmativo, inicializa EasyUp.

Si el archivo está en el serivodr, necesitamos llamar al método upload para subir el archivo.

$up->upload($_FILES['myFile2']);

Para borrar archivos:

include 'easyUp.php';

$up = new $fileDir('/myUploads/');

$up->delete('myPic.jpg');

Esto eliminará myPic.jpg.

Para mostrar información sobre el archivo:

if(isset($_POST['mySubmit'])){

include 'easyUp.php';

$up = new $fileDir('/myUploads/');

$up->upload($_FILES['myFile']);

echo $up->location();

// outputs: yourServersAbsolutePath/myUploads/

echo $up->fileName();

// outputs: myPic.jpg if our last uploaded file was named myPic.jpg.

}

Conclusión

Como mencioné antes, existen muchos recursos para los que desarrollamos con PHP, pero en este caso la simpleza y elegancia de EasyUP hace de esta un recurso sencillo y muy práctico.

Este post es un traducción e interpretación libre de EasyUp – Simple File Uploads que publicó nickbrowndesign.com.

if(isset($_POST['mySubmit'])){
  include 'easyUp.php';
  $up = new $fileDir('/myUploads/');

  $up->upload($_FILES['myFile']);

  echo $up->location();
  // outputs: yourServersAbsolutePath/myUploads/

  echo $up->fileName();
  // outputs: myPic.jpg if our last uploaded file was named myPic.jpg.
}
Salir de la versión móvil