Foros del Web » Programando para Internet » PHP »

exec() Creando Web personal de Peliculas

Estas en el tema de exec() Creando Web personal de Peliculas en el foro de PHP en Foros del Web. Hola a todos, les cuento mi problema; Decidí hacer una web personal, para mantener un orden de las películas que tengo. El caso, donde valla, ...
  #1 (permalink)  
Antiguo 22/09/2013, 20:57
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta exec() Creando Web personal de Peliculas

Hola a todos, les cuento mi problema;

Decidí hacer una web personal, para mantener un orden de las películas que tengo. El caso, donde valla, pueda escoger una película siempre y cuando mi disco duro este conectado (Donde contengo mis películas)

Estoy recién ingresando películas y quise testiarla en linea. y al momento de subirla y testiar, me dice que el comando exect() esta debilitado, como lo activo ??

Es acaso en el hosting ?? busque información pero no logre nada.

la pagina la hospede aquí [URL="http://www.salicar.cl/cinefar/"]http://www.salicar.cl/cinefar/[/URL]

Al momento de hacer click en PLAY sale el error.

espero que alguien me pueda dar una respuesta, saludos y gracias

PD: otro error, no me sale la cuarta pagina, este es el codigo:

if($nro_pagina>1)
echo "<a href='index.php?num".($nro_pagina-1)."'>Anterior</a> ";

for ($i=1;$i<=$can_paginas;$i++)
if ($i==$nro_pagina)
echo $i." ";
else
echo "<a href='index.php?num=$i'>$i</a> ";

if($nro_pagina<$can_paginas)
echo "<a href='index.php?num".($nro_pagina+1)."'>Siguiente</a> ";
  #2 (permalink)  
Antiguo 23/09/2013, 18:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: exec() Creando Web personal de Peliculas

Primero lo del ejecutable:

Si estás en un servidor compartido, no podrás usar exec(), por lo que deberás cambiar a otro hosting donde sí tengas disponible la función.

Luego, un par de preguntas:

1- Dónde tienes las películas?
a) En un disco duro conectado a tu PC
b) En un disco duro conectado o que se puede acceder desde el servidor
c) Otro

2- Cuál es el comando que intentas ejecutar?

Si la respuesta a la primera pregunta es diferente de b), entonces no podrás ver las películas usando esa web.

Si la respuesta fue b) entonces habrá que ver el comando que intentas utilizar para ejecutar la película, lo que sí te puedo decir es que exec() sirve para ejecutar comandos directamente en el servidor y dudo mucho que puedas ver las películas por este medio, a menos que tengas un sistema para streaming.

Finalmente, la paginación:

Cómo obtienes $can_paginas?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/09/2013, 20:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: exec() Creando Web personal de Peliculas

Shuper!! :3 una respuesta :D

Mira, tengo un disco duro externo, a cual le asigno la Letra K.

En mi servidor localhost, funciona el exec() y abre mis peliculas, por ejemplo:

exec("k:\peliculas\ejemplo.mp4") <<------ ese es mi codigo y ejecuta correctamente.

Mi idea es:

Valla donde valla, conectar el disco duro a cualquier PC, verificar letra unidad == K, cambiarla en su defecto.

Abrir el sitio, que es una web informativa de mi DB de películas. y ejecutarlas...

Solo eso.

El hosting donde esta hospedado el sitio que te ejemplifique y donde probé la web online es: hosting.cl

Te escribo el codigo de todos modos:

TROZO DE INDEX:

Código HTML:
Ver original
  1. <form action="pages/abrir.php" method="post">
  2.         <input name="ubica" type="hidden" value="<?php echo $ubica; ?>">
  3.         <input name="input" type="submit" value="PLAY" class="repro">
  4.       </form>

ABRIR PHP

Código PHP:
Ver original
  1. <?php
  2. $ubica=$_POST['ubica'];
  3. echo exec ($ubica);
  4. header("location:../index.php");
  5. ?>
Si ponía el codigo de exec en index con tan solo abrir index me ejecutaba todos los exec y abría total las películas de los archivos en la base de datos...


--------------------------------------------------------------------------------------------

Referente al otro problema, te escribo el código en su totalidad.

Código PHP:
Ver original
  1. <?php
  2.  
  3.     $consulta=mysql_query("select * from peliculas ORDER BY id DESC");
  4.     $nro_reg=mysql_num_rows($consulta);
  5.    
  6.     if ($nro_reg==0){
  7.         echo 'No se han encontrado Peliculas'; 
  8.     }
  9.    
  10.     $reg_por_pagina=10;
  11.     @$nro_pagina=$_GET['num'];
  12.  
  13.     if (is_numeric($nro_pagina))
  14.         $inicio=($nro_pagina-1)*$reg_por_pagina;
  15.         else
  16.         $inicio=0;
  17.    
  18. $consulta=mysql_query("select * from peliculas ORDER BY id DESC limit $inicio,$reg_por_pagina");   
  19. $can_paginas=$nro_reg/$reg_por_pagina; 
  20.  
  21.  
  22. echo "<div align='center'>";
  23.  
  24. if($nro_pagina>1)
  25.     echo "<a href='index.php?num".($nro_pagina-1)."'>Anterior</a> ";
  26.  
  27.     for ($i=1;$i<=$can_paginas;$i++)
  28.         if ($i==$nro_pagina)
  29.             echo $i." ";
  30.             else
  31.             echo "<a href='index.php?num=$i'>$i</a> ";
  32.            
  33. if($nro_pagina<$can_paginas)
  34.     echo "<a href='index.php?num".($nro_pagina+1)."'>Siguiente</a> ";          
  35.            
  36. echo "</div></br>";        
  37.            
  38.    
  39.     if(isset($_POST['genero'])){
  40.        
  41.         if($_POST['genero']<>"Todo"){
  42.             $consulta=mysql_query("select * from peliculas where genero like '%".$_POST['genero']."%' ORDER BY id DESC  limit $inicio,$reg_por_pagina");
  43.         }else{
  44.            
  45.             if(isset($_POST['buscar'])){
  46.         $consulta=mysql_query("select * from peliculas where espanol or ingles like '%".$_POST['buscar']."%' ORDER BY id DESC");
  47.        
  48.         }else{
  49.         $consulta=mysql_query("select * from peliculas ORDER BY id DESC");
  50.         }}
  51.        
  52.         }
  53.    
  54.    
  55.     while($filas=mysql_fetch_array($consulta)){
  56.             $id=$filas['id'];
  57.             $nombreESP=$filas['espanol'];
  58.             $nombreING=$filas['ingles'];
  59.             $fecha=$filas['fecha'];
  60.             $caratula=$filas['caratula'];
  61.             $trailer=$filas['trailer'];
  62.             $ubica=$filas['ubica'];
  63.             $genero=$filas['genero'];
  64.    
  65.    
  66. ?>

Última edición por Triby; 23/09/2013 a las 21:31 Razón: Código en Highlight
  #4 (permalink)  
Antiguo 23/09/2013, 21:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: exec() Creando Web personal de Peliculas

Resulta que en tu PC funciona el exec() porque tanto el servidor como el cliente están en la misma máquina.

Si lo intentas desde un servidor remoto nunca vas a poder hacerlo, porque PHP se ejecuta en el servidor y, en caso de que funcione el exec(), tu pc ni cuenta se dará de eso.

Tal vez con Javascript haya una opción, pero los navegadores decentes no permiten ejecutar programas por cuestiones de seguridad; aunque, pensándolo bien, podría ser tan sencillo como hacerlo directamente con un enlace en HTML:

Código HTML:
Ver original
  1. <a href="k:\peliculas\ejemplo.mp4">Ver película</a>

El problema con la paginación no es tan difícil:

Código PHP:
Ver original
  1. // Esto está mal, porque no necesitas leer todas las películas para paginarlas
  2.     $consulta=mysql_query("select * from peliculas ORDER BY id DESC");
  3.     $nro_reg=mysql_num_rows($consulta);
  4.    
  5.     if ($nro_reg==0){
  6.         echo 'No se han encontrado Peliculas';
  7.     }
  8.    
  9.     $reg_por_pagina=10;
  10.     // Esto también está mal, porque usas @ para ocultar posibles errores
  11.     @$nro_pagina=$_GET['num'];
  12.  
  13.     if (is_numeric($nro_pagina))
  14.         $inicio=($nro_pagina-1)*$reg_por_pagina;
  15.         else
  16.         $inicio=0;

Más o menos debería quedar así:

Código PHP:
Ver original
  1. // Usa COUNT(*) para saber cuantos registros hay
  2.     $consulta=mysql_query("select COUNT(*) from peliculas") or die('Error en consulta: ' . mysql_error()) ;
  3.     $nro_reg=mysql_result($consulta, 0);
  4.    
  5.     if ($nro_reg==0){
  6.         // Si no hay nada para mostrar, finaliza el script.
  7.         die('No se han encontrado Peliculas');
  8.     }
  9.    
  10.     $reg_por_pagina=10;
  11.     // La forma correcta de obtener un dato de $_GET o $_POST
  12.     // Es verificando que exista y sea válido
  13.     if(isset($_GET['num']) && int_val($_GET['num']) > 0) {
  14.          $nro_pagina = int_val($_GET['num']);
  15.     } else {
  16.          $nro_pagina = 1;
  17.     }
  18.  
  19.     // De hecho, ese if lo puedes resumir con asignación ternaria:
  20.     $nro_pagina = (isset($_GET['num']) && int_val($_GET['num']) > 0) ? int_val($_GET['num']) : 1;
  21.  
  22.     // Ahora hay que calcular la última página
  23.     // Usamos ceil() para obtener un entero redondeado siempre hacia arriba
  24.     $can_pagina = ceil($nro_reg / $reg_por_pagina);
  25.  
  26.     // Verifica que la página actual esté dentro de los límites permitidos
  27.     if($nro_pagina > $can_pagina) {
  28.           $nro_pagina = $can_pagina;
  29.     }
  30.  
  31.     // Ahora sí obtienes el inicio
  32.     $inicio = ($nro_pagina - 1) * $reg_por_pagina;

Con eso debería funcionar correctamente.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 24/09/2013, 18:36
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: exec() Creando Web personal de Peliculas

Triby, muy agradecido por todo el tiempo que me has brindado, siento contarte que el a href no funciono. De hecho ni siquiera funciona de forma local, ni con firefox, chrome, ie, nada...

Sobre el segundo problema, el código nuevo mostró las paginas (1, 2, 3, siguiente), pero mostró todas las películas en la pag 1 y al ingresar a las demás, error...

Creo que me daré por vencido... lo que realmente me importaba no funciona y era abrir las películas.

Quizás si me puedes aconsejar o quien quiera hacerlo, imagino que puedo hacerlo con algún otro programa... ejecutable quizás...

quizás... visual... flash, no lo se... no les manejo mucho... pero alguien sabe si esto es posible con alguno o con otro ???

Espero respuesta...

Muchas gracias Triby, te pasaste ^^

Última edición por Lesan; 24/09/2013 a las 18:46 Razón: Escribí mal
  #6 (permalink)  
Antiguo 24/09/2013, 20:24
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: exec() Creando Web personal de Peliculas

Hace tiempo descargué unas películas para mi papá, las copié en un disco y agregué el menú con HTML; al menos en Windows XP funciona bien con cualquier navegador, la única diferencia es que tanto el html como los videos están en el disco duro, mientras que tu quieres tener un servidor remoto y los videos locales.

Creo que la solución podría ser un software de servidor en versión portable (http://cjenkins.wordpress.com/2009/0...wamp-portable/) instalado en el disco duro y así te evitas mayores problemas.

Cómo quedó finalmente tu código de paginación?
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 26/09/2013, 07:13
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: exec() Creando Web personal de Peliculas

No funciono =(
  #8 (permalink)  
Antiguo 26/09/2013, 17:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: exec() Creando Web personal de Peliculas

La cosa es que el enlace a las películas debería estar en localhost/carpeta/pelicula.ext y no apuntando a una unidad de disco, porque ya es un medio diferente y por motivos de seguridad no funciona.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 29/09/2013, 14:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: exec() Creando Web personal de Peliculas

Algunas personas me han pedido el código del sitio... les dejo el link del sitio y el sql... no tiene panel de admin... lo deje sin terminar... ya que no logre lo que quería... Haber si logran algo y lo comparten = ^^

http://salicar.cl/cinefar/cinefar.rar

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:08.