No se puede

Veremos aquí un código PHP que limita el tipo de archivo que se puede cargar.

Aquí comienza el código:

(Falta el código de cargar el archivo, para más comprensión del mismo)
<?php
$extension = end(explode(".", $nombre));
$extensiones = array("jpg", "png", "gif", "jpeg", "bmp", "txt", "pdf", "doc", "docx", "mp3", "mp4", "PNG", "GIF", "JPEG", "BMP", "TXT", "PDF", "DOC", "DOCX", "MP3", "MP4");
if(in_array($extension, $extensiones)){
  $nombrefinal = $id.".".$extension; //$id es un numero aleatorio.
  //Aqui va la rutina para subir un archivo
} else {
  echo "No se puede subir un archivo que no tenga extensión";
  echo "<br>";
  echo "jpg, png, gif, jpeg, bmp, txt, pdf, doc, docx, mp3, mp4, PNG, GIF, JPEG, BMP, TXT, PDF, DOC, DOCX, MP3, MP4";
  echo "<br>";
}
?>

Ejemplo completo:

<?php
$foto=$_POST['foto'];
$coment=$_POST['coment'];
$mes= date("n");
$year=date("Y");
$Fecha= date("j");

$id="1";
$nombre =( $_FILES['foto']['name']);
$foto = ("$nombre");
$espacio1=(" ");
$extension = end(explode(".", $foto));
$extensiones = array("jpg", "png", "gif", "jpeg", "bmp", "txt", "pdf", "doc", "docx", "mp3", "mp4", "PNG", "GIF", "JPEG", "JPG", "BMP", "TXT", "PDF", "DOC", "DOCX", "MP3", "MP4");
if(in_array($extension, $extensiones)){
  $nombrefinal = $id.".".$extension;
  $target_path = "fotos/"; $target_path = $target_path . basename( $_FILES['foto']['name']);
  if(move_uploaded_file($_FILES['foto']['tmp_name'], $target_path)){basename($_FILES['foto']['name']);}
  $file1 = fopen("fotos/linksT.txt", "a+");

  fwrite($file1, "<a href='$foto' download='$foto'><img src='bajar.png' width='15' height='15' alt=''></img></a> $espacio1 <a href='fotos/$nombre'>$nombre</a>$espacio1 $coment $espacio1 $Fecha $espacio $mes $espacio $year $espacio1 ". PHP_EOL);
  fclose( $file1);
} else {
  echo "No se puede subir un archivo que no tenga extensión";
  echo "<br>";
  echo "jpg, png, gif, jpeg, bmp, txt, pdf, doc, docx, mp3, mp4, PNG, GIF, JPEG, BMP, TXT, PDF, DOC, DOCX, MP3, MP4";
  echo "<br>";
}
?>

Este ejemplo requiere que la carpeta fotos y el archivo linksT.txt existan dentro de la misma carpeta.

Formulario en nosepuede.php:

<div>
<form enctype="multipart/form-data" action="nosepuede.php" method="post">

  <input name="foto" type="file" />
  Publicar Foto o Archivo<br>
  <input type="text" value="" maxlength="20" name="coment" placeholder="Comentario">
  <input type="submit" value="Guardar y ver archivo">

</form>
</div>

Lectura del archivo publicado:

<?php
if(file_exists("fotos/linksT.txt")){
  $file = fopen("fotos/linksT.txt", "r");
  $textoB = file_get_contents("fotos/linksT.txt");
  $textoB = nl2br($textoB);
  echo "<div>$textoB</div>";
  fclose( $file );
}else{
  echo "<div>No hay Archivos publicados</div>";
}
?>

Debes tener una imagen llamada bajar.png para mostrar el icono de descarga.

Bajar el archivo de texto con el código completo: Descargar

Volver