Quisiera saber si alguno esta al tanto sobre un problema que ocurre al subir archivos por medio de un script PHP utilizando Internet Explorer.
En mi caso, mi script funciona perfectamente con FIREFOX, pero si intento subir un archivo utilizando EXPLORER se queda "colgada" la pagina y jamas termina de cargar.
¿Tal vez es un error general?
Por las dudas, adjunto mi script, que depaso, quiza le sirva a alguno tambien.
Saludos !
Código PHP:
<?php
session_start();
if (!$_SESSION['user']) {
header("Location: /html_msgs/auth_error.php");
exit();
} else if ($_SESSION['u_level'] == 0) {
header("Location: /html_msgs/user_ban.php");
exit();
}
/** ¿Estamos en el PASO 3? **/
if ($_SESSION['pm_paso'] != 3) {
header("Location: /html_msgs/pm/error1.php");
exit();
}
/*** Existe el resto de las variables ? ***/
if (!isset($_SESSION['pm_titulo']) || !isset($_SESSION['pm_texto']) || !isset($_SESSION['lic_cc_url']) ) {
header("Location: /html_msgs/pm/error1.php");
exit();
}
// Fin control de datos
if (isset($_FILES['f_pm_upload']) ) {
if(is_uploaded_file($_FILES['f_pm_upload']['tmp_name'])) {
$ruta= "./tmp_uploads/{$_FILES['f_pm_upload'] ['name']}";
if ($_FILES['f_pm_upload']['type'] == "audio/mpeg" || $_FILES['f_pm_upload']['type'] == "audio/mp3") {
if (!move_uploaded_file ($_FILES['f_pm_upload'] ['tmp_name'], $ruta) ) {
switch ($_FILES['f_pm_upload'] ['error']) {
case 1:
$error = "1";
$msg = "<b>*</b> El archivo es más grande de lo permitido";
break;
case 2:
$error = "1";
$msg = "<b>*</b> El archivo es más grande de lo permitido";
break;
case 3:
$error = "1";
$msg = "<b>*</b> Error en la transferencia. Por favor, vuelve a intentarlo.";
break;
case 4:
$error = "1";
$msg = "<b>*</b> Error en la transferencia. Por favor, vuelve a intentarlo.";
break;
} // Switch
} else { // if (!move_uploaded...
}
} else { // Si el archivo no corresponde al formato permitido...
$msg = "<b>*</b> Archivo no válido!";
$error = 1;
}
} else { // Si el archivo no esta subido en la carpeta temporal...
$msg = "<b>*</b> No se especifico archivo!";
$error = 1;
}
} // Si no existe el puntero hacia el array de archivos subidos...
if ($error == "1") {
$back = "/pm/envio3.php?msg=".$msg;
header("Location: ".$back);
} else {
require_once($_SERVER['DOCUMENT_ROOT'].'/include/bd.php');
include_once($_SERVER['DOCUMENT_ROOT'].'/include/fecha.php');
$fecha = mysqldate();
// Registramos el ingreso de nuevo upload en carpeta temporal.
$sql = "insert into pm_participacion (usuario, titulo, redaccion, archivo, fecha) values('".$_SESSION['user']."','".$_SESSION['pm_titulo']."','".$_SESSION['pm_texto']."','".$_FILES['f_pm_upload']['name']."','".mysqldate()."')";
$query = mysql_query($sql) or die(mysql_error());
$_SESSION['pm_particip'] = "TRUE";
// Destruimos todas las variables de session utilizadas para el upload
$_SESSION['pm_titulo'] = ""; unset($_SESSION['pm_titulo']);
$_SESSION['pm_texto'] = ""; unset($_SESSION['pm_texto']);
$_SESSION['pm_paso'] = ""; unset($_SESSION['pm_paso']);
$back = "/pm/envio_ok.php";
header("Location: ".$back);
}
mysql_close($link);
?>