Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - gatoher

Páginas: 1 [2]
21
   Hola a todos tengo un problema a la hora de crear directorios desde un script de PHP, estoy usando Ubuntu como servidor y como usuario PHP es www-data y grupo www-data.
Esto lo se por que lo he mirado con:
Código: [Seleccionar]
        $user = getenv('APACHE_RUN_USER');
        $group = getenv('APACHE_RUN_GROUP');
        echo exec('whoami');

   Una solución es crear un directorio dentro del proyecto con permisos 777, pero no me parece nada elegante. Que tendría que hacer, dar permisos de escritura en /var/www al usuario y grupo www-data, o ejecutar PHP con un usuario de permisos de escritura en /var/www.

22
   Tengo una duda.  La verdad no se por que pero no consigo que desde un script de php pueda abrir una url con fopen. He mirado la documentación y no parece muy complicado pero no consigo que funcione. Lo estoy probando desde windows.
   Lo hago asi:
   
Código: [Seleccionar]
   $web = fopen("http://www.google.com/","r");
     //Esto lo pongo por ver que devuelve
     var_dump($web);=> resource(3, stream)
   
   
   ¿Que puedo estar haciendo mal? Gracias

23
   Hola a todos, estoy explorando el como crear un constructor en PHP  que admita varios tipos de parametros y sin tener en cuenta el orden de ellos cuando son enviados para crear las propiedades.

   He visto soluciones de o bien con el método __clone o creando un método que segun el número de parámetros  recividos mandaba a un constructor o a otro.

Eso esta bien pero siempre no puedes alterar el orden de los parámetros y poniendo null si un parámetro intermedio no quieres darle valor.

   Yo he hecho esto que me parece una solución pero no me acaba de satisfacer del todo y a ver si alguién tiene otro modo de hacerlo.

Código: [Seleccionar]
<?php

/* 
    Created on : 20-mar-2016, 20:25:15
    Author     : carlos
*/
class Objeto{
    private 
$id;
    private 
$nombre;
    private 
$email;
    
/*
    function __construct($id, $nombre, $email) {
        $this->id = $id;
        $this->nombre = $nombre;
        $this->email = $email;
    }
  */
      
    
public function constructor($arrayPropiedades){
        foreach (
$arrayPropiedades as $key =>$value){
        if(
property_exists(__CLASS__$key)){
            
$this->$key $value;
        } else{
            echo 
"No existe el atributo $var";
        }
    }
    }
    
    public function 
__get($var){
        if(
property_exists(__CLASS__$var)){
            return 
$this->$var;
        } else {
            return  
null;
        }
    }
    
//clase    
}

//Esto es lo que no me gusta, 
//tener que instanciar un objeto vacío primero
// para poder acceder al método.
$obj = new Objeto(); 
$obj2 $obj->constructor(array('id' => 1,
               
'nombre' => 'carlos'));
//funciona
echo 'Id: '.$obj->id;
echo 
"Nombre: ".$obj->nombre;


   He intentado crear un método static para acceder a él mediante el nombre de la clase. Pero claro, entonces da error en el $this del método constructor().
   ¿Alguién tiene una solución mas #compiGoguy?

24
Hola a todos, tengo una duda que me esta dando vueltas por la cabeza y no consigo ver la luz. He buscado por internet y he visto soluciones pero no me queda claro. A ver, yo se validar formularios con PHP y Js. Pero no tengo claro como hacerlo con los dos, primero en Js y luego PHP.

   Un ejemplo que he visto en internet es un formulario simple con 4 campos y 3 obligatorios, y en el onblur validaba con jQuery, y luego al dar al boton enviar validaba el PHP.

   La parte de PHP esta clara, pero como hacer la validación de Js. Osea ¿cuando se llama al script de Js?. No se si me explico, a mi lo único que se me ha ocurrido es dejar el boton de enviar inactivo hasta que el Js lo valide. ¿Esa sería una buena solución?

   Si en lugar de hacer la validación en el onblur, se hiciera al dar al boton de enviar, se podría hacer la validación primero en Js y si es correcta llamar al script PHP desde el Js para que entonces lo valide el PHP.

   La verdad que me he trabado ahi, o se como hacerlo salvo como he comentado de dejar el boton de enviar inactivo.



25
Bueno, cual ha sido mi sorpresa que soy incapaz de generar un .jar de mi proyecto. Bueno hacerlo lo hago pero no me funciona. He probado de varias formas y nada. El proyecto es sencillo y me funciona perfectamente en netbeans pero el .jar nada no hay forma.

El proyecto lleva jars dentro del proyecto y apuntan directamente a un package que cree para que estuvieran siempre accesibles.

¿Que puedo estar haciendo mal?

26
Hola a todos, tengo un problema en un script en JAVA. Estoy buscando la forma de imprimir un documento PDF que ya existe en mi pc. Lo estoy intentando hacer con el jar pdfbox pero tengo problemas con los import. Cuando añado el .jar hay unas clases que me dice NetBeans:

   
Citar
package org.apache.pdfbox.pdmodel does not exist

Os pongo el codigo para que veais como lo tengo:

Código: [Seleccionar]
package pdf;

import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.HashPrintServiceAttributeSet;
import javax.print.attribute.PrintServiceAttributeSet;
import javax.print.attribute.standard.PrinterName;

//IMPORT QUE ME DA ESE ERROR
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.exceptions.COSVisitorException;
 

/**
 *
 * @author carlos
 */
public class Imprimir {
   
    private PrinterJob printerJob;
    private PrintService printService;

    public void print(String filePath, String printerName) throws URISyntaxException, IOException, PrinterException{
        //Buscar una impresora por su nombre dentro de los servicios de impresión
        //disponibles PrintServiceAttributeSet
        System.out.print("El nombre de la impresora es: "+printerName);
        System.out.print("La ruta al archivo es: "+filePath);
        PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();
        printServiceAttributeSet.add(new PrinterName(printerName, null));
        PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, printServiceAttributeSet);
        //Guardar el servicio en un atributo de la clase
        this.printService = printServices[0];
        //Iniciar un nuevo trabajo de impresión
        this.printerJob = PrinterJob.getPrinterJob();
        //Intentar definirle el servicio de impresión asignado en el atributo de la clase previamente
        try{
            printerJob.setPrintService(this.printService);
         }catch(PrinterException e){
             System.out.print("Error al definir el servicio");
             System.out.println(e.toString());
          } try {
         //Cargar el documento
         PDDocument pdDocument = PDDocument.load(new File(new URI(filePath)));
          //imprimir el documento
          pdDocument.silentPrint(this.printerJob);
          } catch (URISyntaxException ex) {
              //Logger.getLogger(PDFBoxExample.class.getName()).log(Level.SEVERE, null, ex);
          }
   

       
    }       
       
   //clase     
}

  Aqui hay un enlace dnde explican como solucionarlo pero no llego a conseguirlo:
http://stackoverflow.com/questions/16504603/solved-java-imported-package-does-not-exist

  Cualquier ayuda se agradeceria.

27
Tengo una duda sobre una explicación que no llego a comprender sobre las listas genéricas, a ver;

List<Object> es de tipo Collection<Object> por que tienen el mismo parámetro. Pero List<String> no es de tipo List<Object> ya que son distintos parametros aunque String es subtipo de Object.

Hasta aqui es comprensible pero a pone este ejemplo;

public class void main (String [] args)
{

List<String> ls = new ArrayList<String>(); // Lista de string

List<Object> lo = ls;  // Ahora las dos listas hacen referencia a ls

lo.add(new Employee()); // Añadimos un Employee a la lista
String s = ls.get(0); //Error

¿Por que ha dejado añadir un objeto Employee? Hay dos referencias de distinto tipo a un objeto, no lo llego a entender,¿ si en lugar de Object fuera Integer? Si hubiera hecho esto;

Object x = lo.get(0); // ¿Daría error?


28
Aprender a programar desde cero / Genericos y código Legazy java
« en: 28 de Agosto 2014, 22:37 »
Estoy viendo el tema de los genéricos y me ha surgido una duda.
A ver yo hago este array;

Código: [Seleccionar]
List<Integer> x = new ArrayList<Integer>();

Y mando el array a un método
Código: [Seleccionar]
prueba que va intentar esto;

Código: [Seleccionar]
private void prueba(List<Integer> a){ //Si elimino la parametrización la variable text entra
     
            int pri = 0;
            Integer obj = 55;
            String text = "hola";


    //        a.add(text); error es un String
            a.add(obj);
            a.add(pri);
           
            Iterator it = x.iterator();
           
            while (it.hasNext()){
               
               obj = (Integer) it.next();
               pri = (int) it.next();
            }
     

¿Mi pregunta es, por que obj que es un objeto Integer  lo tengo que castear? ¿Y pri? No debería el auboxing hacerlo por si solo.

29
Hola a todos, estoy realizando un ejercicio de reservas y  tengo dos problemas con las fechas. Me explico, es un ejercicio para reservas de un hotel, y cuando alguien quiere reservar una habitación por ejemplo "del 1 de agosto al 15", yo quiero recorrer todas la tabla donde almaceno todas las reservas y saber que habitaciones tengo libre.
No se me ocurre que select podría hacer.

La otra duda es que utilizo en java para apuntar las fechas dos JDate, y cada habitación tiene un costo por día. Si alguien quiere estar del 28 de agosto al 14 de septiembre no se como hacer para restar y me devuelva el número de días.

Estoy trabajando con MySql y Java.  La verdad que estoy atascado ahora mismo por que no veo como hacerlo.

30
Hola a todos estoy haciendo en Java con MySql un ejercicio para almacenar reservas de un hotel. El problema que tengo es que las siguientes tablas relacionadas.

Persona => Cliente => Habitacion => Consumiciones

Al intentar eliminar un cliente que no ha reservado una habitación  no hay problema, pero al eliminar una reserva de habitacion, "un cliente puede hacer varias reservas,osea puede reservar varias habitaciones y cada habitación  puede tener varias  consumiciones", bueno pues esto no me deja hacerlo por las claves ajenas.

Entonces he pensado sacar todas las habitaciones que un cliente tiene, supongamos 3,"habitación 5,10,20" almacenar el número de cada habitación en un array y luego con un for ir eliminado todas las consumiciones,"la tabla consumiciones tiene el id de la habitación que hace el pedido".

¿Esto estaría bien hecho?. La verdad que este problema lo tengo bastante.

 

Agradeceria cualquier comentario. Saludos

31
Hola que tal soy nuevo en el foro un saludos a todos. Estoy estudiando Java y he llegado a las clases abstractas y interfaces. Y la verdad que tengo una duda o veo una pega en su uso y quería saber si hay una forma de solucionarlo o es que no las utilizo donde no debo.
Haber pongo un ejemplo sencillo de una clase abstracta de personas, y clases que heredan de ella como medico, enfermero etc ...

En las clase abstracta pogo metodos y propiedades comunes a una persona como dni, nombre, apellidos, y metodos que si voy a utilizar en las clases que heredan como calcular salario, etc  .... Luego en cada clase que hereda de persona, "es donde empiezo a ver las pegas" pongo propiedades expecificas como jornal, instrumental, horarios y metodos expecificos a cada una de las clases que no estan declarados en la clase abstracta.

Bueno, pues cuando aplico la polimorfia, osea hago un medico sea una persona  :) resulta que ya no puedo haceder a sus propiedades ni metodos "los que tiene su clase en particular". Se puede acceder a ellas pero haciendo "moldes", eso si, pero si metes a los medicos y enfermeros en un array o una lista de personas al recorrerlas tienes que hacer un instace of, etc ...

Entonces, una solución a este problema, o es que no tengo claro donde aplicar las clases abstractas.

Tenía una segunda duda sobre la diferencia entre clases abstractas y interfaces. Se que las interfaces son completamente abstractas sus métodos y sus constantes, y que una clase puede heredar de varias interfaces. Miéntras que una clase abstracta puede tener métodos abstractos y no abstractos, ademas de variables de instancia, pero que una clase solo puede heredar de una clase abstracta. Entonces, ¿Cuando usar una o la otra?

Bueno, la verdad que me he estendido bastante para ser mi primer post, pero la verdad que llevo tiempo con estas dudas, si alguién me lo pudiera explicar pues se lo agradeceria.

Salludos

Páginas: 1 [2]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".