PHP - subir archivos temporales

 
Vista:

subir archivos temporales

Publicado por Miguel (6 intervenciones) el 09/11/2005 13:52:41
Mi problema es el siguiente, quiero añadir una serie de archivos mp3 a un directorio, quedando estos referenciados en la base de datos. El tema es que sólo me deja trabajar con archivos inferior a 2Mb en el temporal, es decir

S_FILES[\'pista1\'][\'tmp_name\'] ---> sólo funciona cuando es < 2Mb

Supongo que esta limitación viene definida en el php.ini, pues bien cambio las siguientes líneas

; Maximum allowed size for uploaded files.
upload_max_filesize = 20M

pasando el límite de 2Mb a 20 Mb y es como si no me hiciera efecto.

Alguna idea?

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:subir archivos temporales

Publicado por Miguel Espinoza (3 intervenciones) el 09/11/2005 16:51:11
Este me funciona muy bien, es para subir fotos y mostrarlas automaticamente, tendrias que modificarlo un poco para que agrege la informacion a una base de datos y que acepte archivos mp3 pero por ahora funciona bien, lo he probado con imagenes MUY grandes ~4megas y funciona bien.

-----------------CODIGO------------------------
<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Mmaximum file size. You may increase or decrease.
$MAX_SIZE = 150000;

//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
,'image/png','application/msword');

//Allowable file ext. names. you may add more extension names.
$FILE_EXTS = array('.jpg','.png','.gif');

//Allow file delete? no, if only allow upload only
$DELETABLE = false;

//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// Do not touch the below if you are not confident.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/************************************************************
* Setup variables
************************************************************/
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "comunidad/";
$upload_url = $url_dir."/comunidad/";
$message ="";

/************************************************************
* Create Upload Directory
************************************************************/
if (!is_dir("comunidad")) {
if (!mkdir($upload_dir))
die ("El directorio no existe y fallo el intento de crearlo");
if (!chmod($upload_dir,0755))
die ("No pude cambiar el permiso del folder");
}

/************************************************************
* Process User's Request
************************************************************/
if ($_REQUEST[del] && $DELETABLE) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
fclose($resource);

if (strpos($_REQUEST[del],"/.")>0); //possible hacking
else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
else if (substr($_REQUEST[del],0,6)==$upload_dir) {
unlink($_REQUEST[del]);
print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
}
}
else if ($_FILES['userfile']) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['userfile']['name']." "
.$_FILES['userfile']['type']."\n");
fclose($resource);

$file_type = $_FILES['userfile']['type'];
$file_name = $_FILES['userfile']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));

//File Size Check
if ( $_FILES['userfile']['size'] > $MAX_SIZE)
$message = "The file size is over 2MB.";
//File Type/Extension Check
else if (!in_array($file_type, $FILE_MIMES)
&& !in_array($file_ext, $FILE_EXTS) )
$message = "Sorry, $file_name($file_type) is not allowed to be uploaded.";
else
$message = do_upload($upload_dir, $upload_url);

print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Invalid File Specified.";

/************************************************************
* List Files
************************************************************/
$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
$filelist .= "<a href='$upload_dir$file'>".$file."</a>";
if ($DELETABLE)
$filelist .= " <a href='?del=$upload_dir".urlencode($file)."' title='delete'>x</a>";
$filelist .= "<sub><small><small><font color=grey> ".date("d-m H:i", filemtime($upload_dir.$file))
."</font></small></small></sub>";
$filelist .="<br>";
}
}

function do_upload($upload_dir, $upload_url) {

$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_path = $upload_dir.$file_name;

//File Name Check
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
}

$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0777))
$message = "change permission to 777 failed.";
else
$message = ($result)?"$file_name procesado con exito." :
"Algo ha salido mal...";
return $message;
}

$PrimerEcho = <<<EOPE

<html>
<head>

<title></title>
<meta name="generator"
content=\"Textpad + Muchas Ganas">
<meta name="description"
content="">
<meta name="keywords\"
content="">

</head>

<body>
<br>


<center>
<font color=red><?=$_REQUEST[message]?></font>
<hr width=60%>
<br><b>Archivos comunales</b>
<br>Tamagno maximo 150kbs<br>Archivos permitidos: jpg, gif, jpeg, pgn<br><br>


<?=$filelist
<hr width=30%>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Subir archivo:<input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>
</center></body></html>
EOPE;
echo $PrimerEcho;
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar