Ver Mensaje Individual
  #20 (permalink)  
Antiguo 28/10/2008, 03:42
Avatar de masterojitos
masterojitos
 
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Diferencia entre PHP 4 y 5

POR FAVOR, si no es molestia de quienes esten interesados en seguir en este post, puedan verificar o aportar a mi codigo para que sea mas POO (Porgramacion Orientada a Objetos).

SE TRATA DE UNA APLICACION MUY CONOCIDA, QUE PERMITE DAR MANTENIMEINTO A REGISTROS Y UN UPLOAD DE ARCHIVOS.

conexion.php
Código PHP:
<?php  
class MySQL{  
    private 
$conexion;
    
    public function 
MySQL(){  
        if(!isset(
$this->conexion)){  
            
$this->conexion = (mysql_connect("localhost","root","")) or die(mysql_error());  
            
mysql_select_db("dbgennio",$this->conexion) or die(mysql_error());  
        }
    }
    
    public function 
consulta($consulta){  
        
$resultado mysql_query($consulta,$this->conexion);  
        if(!
$resultado){
            echo 
'MySQL Error: ' mysql_error();  
            exit;  
        }  
        return 
$resultado;   
    }

    public function 
fetch_array($consulta){   
        return 
mysql_fetch_array($consulta);  
    } 
    
    public function 
num_rows($consulta){   
        return 
mysql_num_rows($consulta);  
    }
}
?>
index.php
Código PHP:
<?php
require_once("conexion.php");
$db = new MySQL();

ini_set('post_max_size','100M');
ini_set('upload_max_filesize','100M');
ini_set('max_execution_time','1000');
ini_set('max_input_time','1000');

$id=$_POST['id'];//SOLO CUANDO ES ACTUALIZAR (PARA VISUALIZAR LOS CAMPOS)
$nuevo=$_POST['nuevo'];
$enviar=$_POST['enviar'];

//Guardando o Actualizando
if(isset($enviar)){
    
$cod_arc=$_POST['cod_arc'];//SOLO CUANDO ES ACTUALIZAR (PARA ACTUALIZAR LOS CAMPOS)
    
$tit_arc=trim($_POST['tit_arc']);
    
$archivo=$_FILES['rut_arc']['name'];
    
$est_arc=$_POST['est_arc'];
    if(empty(
$est_arc)){$est_arc=0;}
    
    if(
$enviar=="Registrar"){
        
$cod_arc=substr($tit_arc,0,3).substr($pal_cla_arc,0,3).substr(md5(uniqid(rand())),0,2);
        
$extension=end(explode(".",$archivo));
        if (
$archivo!=""){
            
// guardamos el archivo a la carpeta files
            
$rut_arc="files/".$cod_arc.".".$extension;
            if(
copy($_FILES['rut_arc']['tmp_name'],$rut_arc)){
                
$status="Archivo Cargado: <b>".$rut_arc."</b>";
                
$rs=$db->consulta("insert into tb_archivo values('$cod_arc','$tit_arc','$rut_arc','$est_arc')");
            }else{
                
$status="Error: No se logro cargar el archivo";
            }
        }else{
            
$status "Error: Archivo no encontrada para subir al Servidor";
        }
    }else{
        if (
$archivo!=""){
            
$rs=$db->consulta("select rut_arc from tb_archivo where cod_arc='$cod_arc'");
            if(
$db->num_rows($rs)>0){
                
$row=$db->fetch_array($rs);
                
unlink($row['rut_arc']);
            }
            
$rut_arc_nueva=",rut_arc='$rut_arc'";
        }
        
$cod_arc=substr($tit_arc,0,3).substr($pal_cla_arc,0,3).substr(md5(uniqid(rand())),0,2);
        
$extension=end(explode(".",$archivo));
        
// guardamos el archivo a la carpeta files
        
$rut_arc="files/".$cod_arc.".".$extension;
        if(
copy($_FILES['rut_arc']['tmp_name'],$rut_arc)){
            
$status="Archivo Cargado: <b>".$rut_arc."</b>";
            
$rs=$db->consulta("update tb_archivo set tit_arc='$tit_arc', $rut_arc_nueva ,est_arc='$est_arc' where cod_arc='$cod_arc'");
            
$fecha=date("Y-m-d h:i:s");
            
$rs=$db->consulta("insert into tb_modifica values('','$cod_arc','$fecha')");
        }else{
            
$status="Error: No se logro cargar el archivo";
        }
        
$id="";//para que ya no salgan los actualizacion
    
}
}

////////////////////////////////////////////////////////////////////////////////////
//SETEANDO LAS VARIABLES SI ES ACTUALIZACION
if(isset($id) and $id!=""){
    
$rs=$db->consulta("select tit_arc,est_arc from tb_archivo where cod_arc=".$id);
    
$row=$db->fetch_array($rs);
    
$tit_arc=$row['tit_arc'];$est_arc=$row['est_arc'];
}
?>
<!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=iso-8859-1" />
<title>BUSCADOR DE ARCHIVOS - PAGINA PRINCIPAL</title>
<link rel="stylesheet" type="text/css" href="estilos.css">
<script language="javascript" src="javascript.js"></script>
</head>
<body>
<form name="frm1" id="frm1" method="post" enctype="multipart/form-data">
<div class="negrita_grande" align="center">BUSQUEDA DE ARCHIVOS</div>
<table border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="2" align="center">            
            <?php if(!isset($nuevo) and ($id=="" or !isset($id))){ ?>
            <input type="submit" name="nuevo" value="Nuevo Archivo" />
            <?php }?>
        </td>
    </tr>
    <tr>
        <td height="10" colspan="2"></td>
    </tr>
<?php if(isset($nuevo) or (isset($id) and $id!="")){ ?>
    <tr>
        <td width="140" align="left">Titulo:</td>
        <td><input name="tit_arc" type="text" size="55" value="<?php echo $tit_arc?>"></td>
    </tr>
    <tr>
        <td align="left">UpLoad del Archivo:</td>
        <td><input name="rut_arc" type="file" size="40" /></td>
    </tr>
    <tr>
        <td align="left">Estado:</td>
        <td><input name="est_arc" type="checkbox" value="1" <?php ($est_arc==or isset($nuevo))?"checked":"";?>></td>
    </tr>
    <tr>
        <td height="20" colspan="2"></td>
    </tr>
    <tr>
        <td colspan="2" align="center">
        <?php (!isset($nuevo))?$sub="Actualizar":$sub="Registrar"?>
        <input type="submit" name="enviar" value="<?=$sub?>" onClick="return validar()" />&nbsp;&nbsp;&nbsp;
        <input type="button" name="cancelar" value="Cancelar" onClick="document.location='index.php'" />
        <?php if(isset($id) and $id!=""){echo '<input name="cod_arc" type="hidden" value="'.$id.'">';}?>
        </td>
    </tr>
<?php }?>
</table>
</form>
<?php
if(!isset($nuevo) and ($id=="" or !isset($id))){
    include(
'consulta.php');
}
?>
</body>
</html>

consulta.php
Código PHP:
<?php
$rs
=$db->consulta("select cod_arc,tit_arc,rut_arc from tb_archivo order by tit_arc");
$i=1;
if(
$db->num_rows($rs)>0){
?>
    <table style="border:1px solid #cccccc; color:#000099;" align="center" cellpadding="3" cellspacing="0">
        <tr style="background:#A65353;color:#FFFFFF">
            <td align="center">Titulo</td>
            <td align="center">Modificar</td>
            <td align="center">Eliminar</td>
        </tr>
    <?php while($row=$db->fetch_array($rs)){    
    (
$i&#37;2==0)?$color="#F3F3F3":$color="#EAEAEA";?>
        <tr style='background:<?=$color?>'>
        
            <td><a href="#" onclick="window.open('<?php echo $row['rut_arc']; ?>')"><?php echo $row['tit_arc'?></a></td>
            
            <td><a href="#" onClick="document.location='index.php?id=<?php echo $row['cod_arc']?>';" ><img  border="0" src="imagenes/editar.png" width="20" height="20" alt="Modificar" title="Modificar" /></a></td>
            
            <td><a href="#" onClick="eliminar('<?php echo $row['cod_arc']?>')" ><img alt="Eliminar" src="imagenes/eliminar.png" width="20" height="20" border="0" title="Eliminar"/></a></td>
            
      </tr>
    <?php $i++;    } ?>
</table>
<?php ?>
javascript.js
Código HTML:
// JavaScript Document
function validar(){
	/*if(trim(document.frm1.nombre.value) == "") {
		 alert("Falta Ingresar el Nombre");
		 document.frm1.nombre.focus();
		 return false;
	}else{
		return true;
	}*/
	return true;
}
var XMLRequest;	
function getHTTPObject() {
	var xmlhttp;
	if(window.XMLHttpRequest){
		xmlhttp = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xmlhttp;
}

function eliminar(id){
	if(confirm("Desea Eliminar el Archivo")){
		XMLRequest=getHTTPObject();
		var url="eliminar.php?id="+id;
		XMLRequest.open("GET",url,true);
		XMLRequest.send(null);
		self.location = "index.php";
	}
}
eliminar.php
Código PHP:
<?php
require_once("conexion.php");
$db = new MySQL();

$id=$_REQUEST[id];
if(isset(
$id)){
    
unlink("files/".$id);
    
$rs=mysql_query("delete from tb_archivo where cod_arc='$id'");
}
?>
y por ultimo, la base de datos
Código PHP:
-- phpMyAdmin SQL Dump
-- version 2.11.6
-- http://www.phpmyadmin.net
--
-- 
Servidorlocalhost
-- Tiempo de generaci&#243;n: 27-10-2008 a las 21:13:44
-- Versi&#243;n del servidor: 5.0.51
-- Versi&#243;n de PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- 
Base de datos: `dbgennio`
--

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

--
-- 
Estructura de tabla para la tabla `tb_archivo`
--

DROP TABLE IF EXISTS `tb_archivo`;
CREATE TABLE `tb_archivo` (
  `
cod_arcvarchar(8NOT NULL,
  `
tit_arcvarchar(20NOT NULL,
  `
des_arcvarchar(150NOT NULL,
  `
pal_cla_arcvarchar(20NOT NULL,
  `
rut_arvarchar(150NOT NULL,
  `
est_arcint(1NOT NULL,
  
PRIMARY KEY  (`cod_arc`)
ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- 
Volcar la base de datos para la tabla `tb_archivo`
--


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

--
-- 
Estructura de tabla para la tabla `tb_modifica`
--

DROP TABLE IF EXISTS `tb_modifica`;
CREATE TABLE `tb_modifica` (
  `
id_modint(8NOT NULL,
  `
cod_arc_modvarchar(8NOT NULL,
  `
fec_moddatetime NOT NULL,
  
PRIMARY KEY  (`id_mod`),
  
KEY `cod_arc_mod` (`cod_arc_mod`)
ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- 
Volcar la base de datos para la tabla `tb_modifica`
--


--
-- 
Filtros para las tablas descargadas (dump)
--

--
-- 
Filtros para la tabla `tb_modifica`
--
ALTER TABLE `tb_modifica`
  
ADD CONSTRAINT `tb_modifica_ibfk_1FOREIGN KEY (`cod_arc_mod`) REFERENCES `tb_archivo` (`cod_arc`); 
bueno, si alguien llego hasta aca, muchas gracias (claro si leiste lo necesario .

DIOS LOS BENDIGA.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog