Hola buenos días,
Tengo hecho un script en php que lo que hace es subir un archivo de video al servidor an tes lo tenia en 1and1 y me funcionaba perfectamente, ahora lo he pasado a un servidor en digitalocean y a la hora de subir un video hago una comprobacion en el codigo para ver si ha ocurrido algun error y me dice que ha ocurrido un error, lo interesante es que es el mismo codigo que tego en 1 and.
Un saludo y gracias.
<?php
$str_nombrev =trim($_POST['tx_nombrev']);
$str_descripcion =trim($_POST['tx_descripcion']);
?>
<?php
//Este archivo es la pantalla que el usuario ve si se logueo correctamente, nada mas como ejemplo he creado una muy sencilla. Cuando el usuario accede a esta pagina web se supone que ya paso por la pantalla de login y sus datos fueron verificados en la BD.
//Inicializar una sesion de PHP
session_start();
//Validar que el usuario este logueado y exista un UID
if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
{
//En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la
//pantalla de login, enviando un codigo de error
?>
<form name="formulario" method="post" action="index.php">
<input type="hidden" name="msg_error" value="2">
</form>
<script type="text/javascript">
document.formulario.submit();
</script>
<?php
}
?>
<?php
//Conectar BD
include("conectar_bd.php");
conectar_bd();
//Sacar datos del usuario que ha iniciado sesion
$sql = "SELECT tx_nombre,tx_apellidoPaterno,tx_TipoUsuario,id_usu ario,tx_username
FROM tbl_users
LEFT JOIN ctg_tiposusuario
ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
WHERE id_usuario = '".$_SESSION['uid']."'";
$result =mysql_query($sql);
$nombreUsuario = "";
//Formar el nombre completo del usuario
if( $fila = mysql_fetch_array($result) )
$nombreUsuario = $fila['tx_username']." ".$fila['tx_apellidoPaterno'];
//Formar el query para el insert del video
$queryInsert="INSERT INTO tblsvideo (
tx_nombrev,
tx_descripcion,
tx_username,
id_usuario)
VALUES(
'".$str_nombrev."',
'".$str_descripcion."',
'".$nombreUsuario."',
'".$_SESSION['uid']."')";
mysql_query($queryInsert,$conexio) or die(mysql_error());
//comprobamos si ha ocurrido un error.
if ($_FILES["tx_archivo"]["error"] > 0){
echo "ha ocurrido un error";
} else {
//ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
//y que el tamano del archivo no exceda los 100kb
$permitidos = array("video/mp4");
$limite_kb = 38560560;
if (in_array($_FILES['tx_archivo']['type'], $permitidos) && $_FILES['tx_archivo']['size'] <= $limite_kb * 10240000){
//esta es la ruta donde copiaremos la imagen
//recuerden que deben crear un directorio con este mismo nombre
//en el mismo lugar donde se encuentra el archivo subir.php
$ruta = "img_users/" . $_FILES['tx_archivo']['name'];
//comprobamos si este archivo existe para no volverlo a copiar.
//pero si quieren pueden obviar esto si no es necesario.
//o pueden darle otro nombre para que no sobreescriba el actual.
if (!file_exists($ruta)){
//aqui movemos el archivo desde la ruta temporal a nuestra ruta
//usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
//almacenara true o false
$resultado = @move_uploaded_file($_FILES["tx_archivo"]["tmp_name"], $ruta);
if ($resultado){
$nombre = $_FILES['tx_archivo']['name'];
@mysql_query("UPDATE tblvideo
SET tx_archivo='".$nombre."'
WHERE id_usuario = '".$_SESSION['uid']."'") ;
echo "el archivo ha sido movido exitosamente";
} else {
echo "ocurrió un error al mover el archivo.";
}
} else {
echo $_FILES['tx_archivo']['name'] . ", este archivo existe";
}
} else {
echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
}
}
//Cerrrar conexion a la BD
mysql_close($conexio);
?>