Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Karman

#221
PHP / Re: [Ayuda]Sistema de plugins.
9 Octubre 2008, 22:42 PM
todo depende... no sé plugins de que tipo hablas... si lo que quieres hacer es un compilador de templates (smarty) tendrías que fijarte en la documentación de este y ver que puedes sacar en limpio...

S2
#222
PHP / Re: [Ayuda]Sistema de plugins.
9 Octubre 2008, 13:28 PM
mirá, yo acabo de hacer un sistema de carga de módulos, y creo que si lo que quieres es hacer un sistema de plugins, por ejemplo para modificar la visualización de determinados campos de una pag que se genera por base de datos, podrías hacer algo así como:

$campo=usarPlugins($campo);

y

function usarPlugins(){
  //buscas base de datos los plugins activos...
  //ejecutás plugins
  //retornas resultado
}

para ejecutar los plugins tendrías que establecer reglas de como deben ser escritos dichos plugins...

S2
#223
prueba así:

Código (php) [Seleccionar]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Subir Archivos</title>
</head>

<body>

    <script type="text/javascript">
<!--
      function checkForm(formu)
      {
    var error=false;
    var mensaje="";

    formu.btnAdd.disabled=true;
    if (formu.formTitulo.value=="")
    {
  mensaje += '· Debe seleccionar una valor1\n';
  error=true;
    }
    if (formu.fichero.value=="")
    {
  mensaje += '· Debe seleccionar un archivo\n';
  error=true;
    }

        if (error)
    {
  alert(mensaje);
  formu.btnAdd.disabled=false;
  return false;
    }
    else
    {
formu.btnAdd.disabled=false;  
return true;
    }
      }
-->
</script>

<?php
if (isset(
$_POST['btnAdd'])) 
{  
  if(is_uploaded_file($_FILES['fichero']['tmp_name'])) 
  { 
// verifica haya sido cargado el archivo 
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) 

  // AQUI VA EL PROCESO DE GRABAR EN LA BASE DE DATOS EL RESTO DE LOS CAMPOS 
  echo "<b>Upload exitoso!. Datos:</b><br>"

  }
}
?>


<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" name="btnAdd" enctype="multipart/form-data" onSubmit="javascript: return checkForm(this);">
  <table>
    <tr>
      <td>
        Archivo: <input name="fichero" type="file">
      </td>
    </tr>
    <tr>
      <td>Titulo: <input type="text" name="formTitulo" value="" size="36"></td>
    </tr>
    <tr>
      <td>
        <input name="btnAdd" type="submit" value="Upload!">
      </td>
    </tr>
  </table> 
</form>

</body>
</html>


S2
#224
PHP / Re: [Ayuda]Sistema de plugins.
8 Octubre 2008, 05:26 AM
plugins de que tipo? echos por vos completamente o para alguna otra aplicación? los plugins están tb en php? faltan detalles...

S2
#225
no puedes usar copy... tienes que usar las funciones que te puse... ya que el archivo no es copiado con el mismo nombre y hay atributos de seguridad tb.... con le código que te pasé tendría que funcionarte bien...

utilizando el código que te pasé prueba colocar unos echos en los $imagen['tmp_name'], $imagen['name'], $imagen['size'] y fíjate donde puede estar el error...

S2
#226
no entiendo... en action va la página que procesa el formulario... en el ejemplo puse "muy largo" porque copié de mi sitio el código y no iba a postear todo el código...

S2
#227
me parecen un poco exagerados tus números... pero de todas formas... hace años que dicen que las contraseñas deben ser complejas y de largo tamaño, una contraseña "HOLA" te creo que logren romper...

S2
#228
lo standart es md5, sha1 (el que yo utilizo), crypt...

S2
#229
justamente... estoy haciendo eso para una página que me encomendaron y más o menos el código es el siguiente:
HTML:
Código (html4strict) [Seleccionar]

<form action="muy largo" method="post" name="agregarimagen" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="250000">
<input name="nombreimagen" type="file" accept="image/jpeg" size="70">
<p><input class="boton" name="agregar" value="Agregar" type="submit"></p>
</form>


lo que no tienes que olvidar de esta parte es enctype="multipart/form-data"
accept es solo soportado por algunos exploradores

PHP:
Código (php) [Seleccionar]

//Obtenemos datos del archivo enviado...
$imagen = $_FILES('nombreimagen');
if(!$imagen)
return ShowError("No se ha Encontrado la Imagen Solicitada.");
//Verificamos datos...
if(($imagen['tmp_name']="")||($imagen['name']=="")||(!$imagen['size']))
return ShowError("No se ha Especificado el Nombre de la Imagen.");
//Verificamos tamaño
if($imagen['size'] > 250000)
return ShowError("La Imagen es demasiado grande, por favor reduzca su tamaño.");
    //Verificamos Tipo...
    if(($imagen['type'] == 'image/jpeg')||($imagen['type'] == 'image/pjpeg')){
    //Comprobamos exista el archivo temporal en el servidor...
    //(NOTA: desconozco porqué no funciona $imagen['tmp_name'])
    if (is_uploaded_file($_FILES['nombreimagen']['tmp_name'])){
    $carpeta = "Imagenes".date("Y");
    //Si no existe la carpeta intentamos crearla...
    if ((!file_exists($carpeta))&&(!mkdir($carpeta,644)))
    return ShowError("No se ha podido encontrar/crear la carpeta destino.");
    //generamos nombre de archivo (no utilizaremos el enviado)
    $nombrearchivo="imgn".$numeroimagen.".jpg";
    $nuevaimagen = "$carpeta/$nombrearchivo";
    while(file_exists($nuevaimagen)){
    $nombrearchivo="imgn".(++$numeroimagen).".jpg";
    $nuevaimagen = "$carpeta/$nombrearchivo";
    }
    //Si todo Ocurrió Correctamente subimos la imagen
    //(NOTA: desconozco porqué no funciona $imagen['tmp_name'])
    if (!move_uploaded_file($_FILES['nombreimagen']['tmp_name'], $nuevaimagen))
  return ShowError("Lo siento. No se ha Podido Subir la Imagen.");
    }else
    return ShowError("No se ha encontrado el archivo temporal.<br/>Esto puede deberse a que el archivo enviado es demasiado grande.");
  }else
  return ShowError("Tipo de archivo incorrecto.");
//Acá vendría el código todo OK


Cave aclarar que algunas variables (cuando genero el nombre del archivo) las obtengo de la base de datos, (hago una referencia en base de datos para que sea más sencillo eliminarlas si no las necesito más), pero podrías obtenerlas por otros métodos...

PD: es para PHP 5, en otras versiones es distinto

S2
#230
obviamente que en disco rígido... si está en db 1º ocupas espacio, y luego requieres un gran uso de memoria para el pasaje de la imagen de la db a la pag... (tiempo inútil)

S2