La diferencia entre hacer un script propio / o phpost,spirate

Iniciado por Weeken, 2 Noviembre 2012, 17:16 PM

0 Miembros y 1 Visitante están viendo este tema.

Weeken

A esto me refiero a que, que es mejor hacerse un script vario, o descargarlo de una web de scripts

Bueno las web scripts como por ejemplo las sguientes:


Spirate

Zinfinal

Phpost

En esas diferencias es que ninguna de esas 3 web que dan sus script son buenos y nunca lo seran

A continuacion las rzones:

1º Razon: Tienes que editar completamente todo

2º Razon: Te tiran problemas y en algunos hosts no funca el script

3º Razon: Traen muchos bugs

Esas son las razones y aunque crean que PHPOST no trae BUGS siempre trago BUGS

Entonces que es mejor:

Hacer un scrtip desde 0 o descargarlo de PHPOST, Zinfinal o Spirate lleno de bugs y editar todo

Directamente lo que deben hacer es lo siguiente:

Si ustedes quieren tener una web copia de taringa perfecta sin bugs, shells, errores, etc...

deben hacer lo siguiente



1º Paso: deben saber muy bien los lenguajes que se usaran en el script

Los lenjuages son los siguientes:


PHP

HTML

CSS

AJAX

javascript

PHPMYADM

MYSQL

deben saber muy bien esos lenjuages que se iran usando en el script y en el proceso del script

ATENCION: Con el proceso de la web y del script iran aprendiendo mucho mas los lenjuages y nuevos codigos

2º Paso: Tener un buen hosting,

Ese host deve tener los siguientes componentes:


cPanel Accelereted 2

Espacio de GBS

Transferencia de Archivos

Base de Datos

Soporte {Recomendado: 24x7}

Seguridad Profesional

99.9 Updtime

Fantastico

Cuentas de email

cPanel 11 o cPanel X

Activacion Inmediata

PHP5 / Perl

Spam Assasin

Con que tu cPanel contenga eso sera suficiente para crear tu web

Ahora tu cPanel deve tener almenos lo siguiente:

20 Gbs de espacio en disco

50 Gbs de transferencia

10 Bases de Datos

Con que tenga eso te alcanzara para crearte una maravillosa web

Un host recomendable y que contenga eso pueden ser los siguientes:

CloudFlare el mejor  ::)



Bueno sigamos con lo demas

3º Paso: Con que tengan todo eso se les habra facilitado todo de ahora en adelante
4º Paso: Ahora llega el momento de crear sus archivos
Los archivos son los que lograran hacer que tu web este en pie
5º Paso: El primer archivo que deben crear es index.php
El index es uno de los archivos mas importantes ya que hay ira todo el contenido de tu web pero atencion solo la HOME de la web
6º Paso: Crear la carpeta {INSTALL}
7º Paso: Darle a la carpeta INSTALL el permiso 0777
8º Paso: Entrar en la carpeta INSTALL y crear los siguientes archivos:

Cita:
conectionbd.php

configuracion.php

functions.php

paguinator.php

paguinator.inc.php
9º Paso: A esos archivos deben darle los permisos de 0666
10º Paso: Bueno ahora devetan editar esos archivos pero para hacerlos deve ser en php para eso recuerden el primer paso de todos
11º Paso: Bueno son muchos pasos asi que no explicare todos jeje, en total los archivos que deben crear para una web perfecta son 1500 aprox...
Si si son muchos pero valdra la pena porq en el proceso del script que tu lo fuiste haciendo tu fuiste armando los codigos y esos codigos vendran sin BUGS, SHELLS, ERRORES, ETC...

Bueno ahora les dire los directorios/carpetas || archivos que deben tener en cuenta y que son los mas importantes:

Cita:
Directorios:

Install

Templat

Templat > TuTheme

Templat > TuTheme > Programations

Templat > TuTheme > Programations > Modulos

Templat > TuTheme > Programations > Admin_modulos

Templat > TuTheme > Programations > Sections_menus

Templat > TuTheme > Programations > Sections_submenus

Archivos:

public_html > install >conectionbd.php

public_html > install > configuracion.php

Esos son los archivos mas importantes que deben tener en cuenta


Cita:
Para los que no saven PHP, aca les dejo un aprendizaje:

Tutorial PHP:

1.- Gestión de archivos por PHP
Recopilamos algunas funciones básicas para la gestión de archivos con PHP.   
2.- Lectura secuencial de archivos con PHP
Aprende a utilizar la función fgets para leer archivos texto con un ejemplo práctico   

3.- Escritura en archivos con PHP
Cómo y para qué usar la función fwrite.   

4.- Gestión de directorios por PHP
Aprendemos a navegar por la arborescencia de directorios del sistema de archivos del servidor.   


5.- Upload de archivos con PHP
Realizamos unas páginas PHP que reciben un archivo del discoduro del visitante y lo suben al servidor remoto.


1º Gestionamiento de archivos:

El tratamiento de archivos resulta ser una práctica muy común en cualquier sitio web. Muy a menudo nos vemos en la necesidad de procesar un texto para cambiarle el formato, buscar una cadena en su interior o cualquier otro tipo de operación.

PHP propone un sinfín de funciones para la gestión de archivos que van desde las más elementales de apertura, lectura y cierre a otras más rebuscadas como el cálculo de espacio en el disco duro, tamaño del archivo, gestión de derechos de acceso...

En este artículo pretendemos mostraros cuáles son las funciones más esenciales para el tratamiento de archivos para posteriormente ejemplificarlas en un par de scripts que os pueden resultar útiles:

Funciones de gestión de archivos
Función   Descripción   Sintaxis
copy   Copia un archivo   copy($origen,$destino)
rename   Cambia el nombre del archivo de $antes a $despues   rename($antes,$despues)
unlink   Borra el archivo   unlink($archivo)

Funciones para la lectura de archivos
Función   Descripción   Sintaxis
fopen   Abre un archivo y le asigna un identificador id. Veremos el modo más adelante   $id = Fopen($archivo, $modo)
fgets   Lee una línea de un archivo hasta un numero máximo de caracteres fgets($id,$max)
fwrite   Escribe una cadena dentro del archivo   fwrite($id, $cadena)
fseek   Avanza o retrocede el puntero del archivo un cierto numero de posiciones fseek($id,$posiciones)
feof   Comprueba si el puntero que lee el archivo ha llegado al final   feof($id)
fpassthru   lee completamente el archivo y lo muestra   fpassthru($id)
fclose   Cierra el archivo abierto previamente   fclose($id)

Las operaciones más elementales, copia, borrado y cambiar el nombre, requieren únicamente el nombre (y path) del archivo sobre el cual se ejerce la operación. Para operaciones más complejas, como la lectura de líneas o la escritura de texto dentro del archivo, se requiere de una previa apertura del archivo al cual le asignaremos un indentificador $id.

Una vez abierto el archivo, podremos desplazarnos a lo largo de él por medio de un puntero imaginario que avanza o retrocede por las líneas de texto y mediante el cual nos situaremos en el lugar escogido para insertar, modificar o simplemente copiar una cadena.

Existen distintos modos de apertura que nos permiten definir las acciones que podemos realizar sobre el archivo. Aquí os mostramos los diferentes modos que, como veréis, son de lo más variado:

Modos de apertura de archivos
Sintaxis   Descripción
'r'   Sólo lectura
'r+'   Lectura y escritura
'w'   Sólo escritura
'w+'   Lectura y escritura. Suprime el contenido anterior si se escribe. El archivo es creado si no existe.
'a'   Sólo escritura. El archivo es creado si no existe y el puntero se coloca al final.
'a+'   Lectura y escritura. El archivo es creado si no existe y el puntero se coloca al final.

A notar que si tratamos con archivos en binario hemos de colocar una b delante del modo (ej. ba, bw+,...)

Recordamos que esta lista no es más que una recopilacion y que muchas otras funciones relacionadas pueden sernos también útiles.


2º Tutorial: Lectura secuencial de archivos con PHP

Sigamos con nuestro aprendizaje práctico del uso de ficheros en PHP. Ya hemos visto cómo abrir un archivo por medio de la función fopen con un ejemplo práctico de cómo verificar una URL. El paso siguiente es aprender a leer el contenido del archivo, tarea que llevaremos a cabo por medio de la función fgets.

Esta función se encarga de leer línea a línea el contenido de un archivo texto por lo que su utilización ha de ser incluida dentro de una estructura de tipo bucle.

En el ejemplo que os mostramos a continuación nos hemos servido de esta lectura secuencial para localizar dentro del texto una cadena cualquiera a la que, a continuación, le cambiamos el formato para ponerla en negrita por medio de la etiqueta <b>. Esto nos puede resultar útil si llevamos a cabo búsquedas internas en nuestro sitio y queremos resaltar la cadena de búsqueda en el texto de la página encontrada.

Evidentemente, la utilidad de fgets resulta ser mucho más amplia. Podemos emplearla, por ejemplo, con archivos remotos para extraer las etiquetas meta o para muchas otras cosas que se nos puedan ocurrir.

Aquí os proponemos el script:

<?
function negrita($path,$cadena)
{
//Iniciamos la variable
$texto = "";
//Abrimos el archivo en modo lectura
$fp = fopen($path,"r");
//Leemos linea por linea el contenido del archivo
while ($linea= fgets($fp,1024))
{
//Sustituimos las ocurrencias de la cadena que buscamos
$linea = str_replace($cadena,"<b>$cadena</b>",$linea);
//Anadimos la linea modificada al texto
$texto .= $linea;
}
return $texto;
}
//Definimos el path y la cadena
$path="escribe el camino de acceso a tu archivo";
$cadena = "escribe tu cadena";
//Llamamos la funcion
$texto = negrita ($path,$cadena);
//Mostramos el texto
echo $texto;
?>

El script es utilizado en forma de función para facilitaros su empleo y almacenamiento. Su modo de actuar es el siguiente:

Inicializa la variable texto en la cual iremos almacenando las líneas leídas en el bucle.

Abre el archivo (local o remoto) en modo lectura por medio de la función fopen.

Lee una por una las líneas del archivo hasta una longitud de 1024 caracteres y remplaza las posibles ocurrencias de la cadena de búsqueda por la misma cadena colocada entre las etiquetas <b> y </b> por medio de la función str_replace. El texto, modificado o no, es almacenado en la variable texto.

Devolvemos la variable texto como resultado de la función.

El resto de script es simplemente un ejemplo de llamada a la función donde los parámetros path y cadena han de ser especificados.


3º Tutorial: Escritura en archivos con PHP

Siguiendo con la gestión de archivos por medio de PHP, en este artículo veremos los pasos elementales para la creación y escritura de un archivo texto por medio de esta tecnología de lado servidor. Tras haber visto como funciona la lectura secuencial de un archivo, podemos imaginar que escribir sobre éste no debe de resultar mucho más complicado.

Por otra parte, las posibilidades que estas dos operaciones nos pueden ofrecer conjuntamente son realmente sorprendentes. Sin ir más lejos, y guardando las distancias, escribir y leer archivos puede en cierta manera sustituir muy primariamente a una base de datos. En efecto, si por diversas razones (hosting, presupuesto, conocimientos...) nos resulta difícil la puesta en marcha de una base de datos elemental, siempre podremos solventar el inconveniente almacenando nuestros datos en archivos que luego podrán ser leídos. Por supuesto, este método no tiene nada de seguro ni de versátil y sólo es valido para un sitio sin información confidencial y con poca cantidad de datos.

Podemos pensar también en crear documentos dinámicos a partir de datos introducidos en un formulario: cartas, páginas HTML y otros.

Otro ejemplo particularmente práctico es la creación dinámica de archivos que nos ahorren recursos de servidor. Imaginemos que tenemos una página, o archivo, en nuestro sitio que carga muy frecuentemente y que realiza constantemente llamadas a bases de datos o ejecuta scripts medianamente largos. Si el contenido que estamos mostrando es el mismo para todos los usuarios y no tiene necesidad de ser actualizado constantemente, podemos contentarnos con crear un script accesorio que ejecute una única vez el script principal y que almacene su resultado en forma de archivo HTML que será en realidad el que mostraremos a nuestros visitantes. De esta forma, evitamos por una parte la ejecución masiva de un mismo script con el consiguiente ahorro de recursos y por otra automatizamos la actualización de una determinada página o sección ejecutando periódicamente el script accesorio.

La escritura de archivos pasa, como es de esperar, por la previa apertura de archivo en un modo apropiado. Una vez abierto, el paso siguiente será introducir por medio de la función fwrite, o su alias fputs, la cadena que deseamos incluir en nuestro archivo.

Para ejemplificar esta nueva función de escritura y combinarla con la de lectura, fgets, os proponemos este contador inspirado en una nota de la página oficial de PHP:

<?
function incremento_contador($archivo)
{
// $archivo contiene el numero que actualizamos
$contador = 0;

//Abrimos el archivo y leemos su contenido
$fp = fopen($archivo,"r");
$contador = fgets($fp, 26);
fclose($fp);

//Incrementamos el contador
++$contador;

//Actualizamos el archivo con el nuevo valor
$fp = fopen($archivo,"w+");
fwrite($fp, $contador, 26);
fclose($fp);

echo "Este script ha sido ejecutado $contador veces";
}

?>

Aquí podéis ver el resultado producido cuando llamamos a esta función.

Como en otros ejemplos, el script es expresado en forma de función para que sea más sencilla su reutilización. Las etapas que llevamos a cabo son verdaderamente cortas y comprensibles:

Iniciamos nuestra variable contador.
Abrimos el archivo en modo lectura y extraemos el valor actual del contador leyendo la primera y única línea. Cerramos el archivo.
Aumentamos de una unidad el valor de contador.
Abrimos el archivo y lo sobrescribimos (modo +w) con el valor contador modificado.
Ni que decir tiene que para que este tipo de scripts funcionen, el archivo al que queremos acceder ha de estar autorizado para lectura y escritura.

La función fwrite puede ser utilizada también para enviar datos en otros tipos de aperturas como son las de sockets o de programas. Pero esto ya es otra historia...


4º Tutorial: Gestión de directorios por PHP

Siguiendo con la saga de artículos referentes a la explotación de archivos por medio de PHP, vamos a presentar algunas funciones que nos pueden ser muy útiles en la navegación por directorios. Este tipo de funciones podrían, por ejemplo, servirnos para crear exploradores de archivos en nuestro navegador.

Funciones de gestión de directorios
Función   Descripción   Sintaxis
opendir   Abre un directorio situado en $path y le asigna un identificador $dir   $dir = opendir($path)
readdir   Lee un elemento del directorio $dir abierto previamente con opendir y desplaza el puntero al elemento siguiente   readdir($dir)
rmdir   Elimina el directorio $dir   rmdir($dir)
mkdir   Crea un directorio situado en $path con los derechos de acceso $derechos (entero)   mkdir($path, $derechos)
rewinddir   Vuelve el puntero de lectura del directorio $dir al primer elemento rewinddir($dir)
closedir   Cierra el directorio $dir abierto previamente con opendir   closedir($dir)

La forma de tratar con estas funciones es la similar a la que ya hemos visto para le lectura secuencial de archivos. Podemos distinguir tres etapas elementales:
Apertura del directorio por medio de la función opendir asignándole al mismo tiempo un identificador
Realización de las tareas necesarias en relación con ese directorio
Clausura del identificador por medio de la función closedir
A notar que, para que un directorio pueda ser borrado, hace falta previamente haber eliminado cada uno de los elementos contenidos dentro del directorio. Para esto, nos podemos servir de la función unlink, presentada en otor artículo.

Por otra parte, la creación de un directorio por medio de la función mkdir requiere la definición de los derechos de acceso por medio de un numero entero. Esperamos poder explicar en qué consisten estos derechos próximamente.

Como ejemplo sencillo de lo que podemos hacer con estas funciones, aquí os presentamos un pequeño script de lectura que os permite visualizar el contenido de un directorio:

<?
//definimos el path de acceso
$path = "mi/camino";

//abrimos el directorio
$dir = opendir($path);

//Mostramos las informaciones
while ($elemento = readdir($dir))
{
echo $elemento."<br>";
}

//Cerramos el directorio
closedir($dir);
?>

Otra forma de abordar la gestión de directorios es por medio de la clase dir que permite la creación de un objeto sobre el cual podremos aplicar toda una serie de métodos equivalentes a las funciones previamente vistas. Si estas familiarizado con la programación orientada a objetos, puede que esta modalidad te resulte mas intuitiva. Si no sabes en qué consiste la programación orientada a objetos, puedes visitar este artículo.

En este caso, la forma de operar es análoga a la ya vista:
Creamos un objeto $dir con la instrucción: $dir = dir($path)
Realizamos las tareas necesarias llamando a los métodos de la clase dir
Cerramos el directorio con el método close
Algunos de los métodos que podemos utilizar con esta clase son los siguientes:

Métodos de la clase dir
Método   Descripción   Sintaxis
path   Indica el path del directorio   $objeto->path
read   Lee un elemento del directorio   $objeto->read
rewind    Vuelve el puntero de lectura del directorio al primer elemento   $objeto->rewind
close   Cierra el directorio   $objeto->close

Como ejemplo, he aquí el script equivalente al abordado para el caso de las funciones, esta vez usando la clase dir:

<?
//definimos el path de acceso
$path="mi/camino/";

//instanciamos el objeto
$dir=dir($path);

//Mostramos las informaciones
echo "Directorio ".$dir->path.":<br><br>";

while ($elemento = $dir->read())
{
echo $elemento."<br>";
}
//Cerramos el directorio
$dir->close();
?>

Los scripts propuestos no son más que ejemplos sencillos de lo que estas funciones pueden ofrecernos. En vuestras manos queda el combinar estas funciones con otras vistas en este mismo taller de manera a crear aplicaciones que gestionen los archivos y directorios de vuestro servidor.

Recordamos que esta lista no es más que una recopilación y que muchas otras funciones relacionadas pueden sernos también útiles.


5º Tutorial: Upload de archivos con PHP

En PHP tenemos muchas funcionalidades desarrolladas desde el principio y sin necesidad de instalar ningún añadido en nuestro servidor. Es el caso de subir archivos a un servidor web por HTTP y a través de una página con un formulario, donde se permite seleccionar el archivo que queremos cargar de nuestro disco duro.

El ejemplo se encuentra bien documentado en un montón de páginas para desarrolladores, sin ir más lejos en la página de la propia tecnología: http://www.php.net/manual/es/features.file-upload.php.  Nosotros en este caso vamos a intentar ir un poco más allá, realizando un par de comprobaciones al subir el fichero y combinando en el mismo formulario campos de tipo file y tipo text.

El formulario para subir seleccionar los archivos

Es un formulario cualquiera, pero tiene una serie de particularidades y campos file, que no solemos utilizar habitualmente.

<form action="subearchivo.php" method="post" enctype="multipart/form-data">
<b>Campo de tipo texto:</b>
<br>
<input type="text" name="cadenatexto" size="20" maxlength="100">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<br>
<br>
<b>Enviar un nuevo archivo: </b>
<br>
<input name="userfile" type="file">
<br>
<input type="submit" value="Enviar">
</form>

Para empezar vemos que se ha colocado un nuevo atributo en el formulario: enctype="multipart/form-data", necesario para subir en un mismo formulario datos y archivos.

También tenemos el campo hidden MAX_FILE_SIZE, que sirve para indicar el tamaño en bytes de los archivos a subir. Este campo algunos navegadores no tienen porqué entenderlo o hacerle caso. Además, es fácil saltarse esa protección, por lo que deberemos en las propias páginas PHP comprobar que el archivo tenga el tamaño que deseamos.

Por último, tenemos el campo tipo file, donde se seleccionará el archivo a subir. También hemos colocado un campo de tipo text, para subir datos por POST de tipo texto acompañados a los datos binarios del archivo.

Página que sube los archivos

Esta página debe hacer las comprobaciones necesarias para saber si las características del archivo a subir son las que deseamos y realizar la copia del archivo en un directorio del servidor.

Para hacer las comprobaciones, PHP nos crea una serie de variables que podemos acceder con la información del archivo enviado.

$HTTP_POST_FILES['userfile']['name']
El nombre original del fichero en la máquina cliente.

$HTTP_POST_FILES['userfile']['type']
El tipo mime del fichero (si el navegador lo proporciona). Un ejemplo podría ser "image/gif".

$HTTP_POST_FILES['userfile']['size']
El tamaño en bytes del fichero recibido.

$HTTP_POST_FILES['userfile']['tmp_name']
El nombre del fichero temporal que se utiliza para almacenar en el servidor el archivo recibido.
Nota: En este momento (a partir de PHP 5) el array $HTTP_POST_FILES ha sido sustituido por el array $_FILES. En realidad es exactamente lo mismo, con la diferencia que $_FILES es más corto de escribir. Dependiendo de la configuración de tu PHP el nombre de variable antigua $HTTP_POST_FILES puede existir o no, pero en cualquier caso te recomendamos utilizar $_FILES para que tus scripts funcionen en cualquier servidor, independientemente de la configuración. Por ejemplo, usa $_FILES['userfile']['tmp_name'] en lugar de $HTTP_POST_FILES['userfile']['tmp_name'].
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>

Para empezar, recogemos el campo de texto enviado por POST, de la forma habitual. Aunque esto no tenga nada que ver con subir archivos, es muy normal que en el mismo formulario deseemos mezclar varios tipos de información.

Luego se recogen los datos necesarios del archivo, como su nombre, extensión y tamaño para, en el siguiente if, comprobar que la extensión sea .gif o .jpg y que el tamaño menor que 100000 bytes.

Si el archivo tenía las características deseadas, se puede subir al servidor. Para ello se utiliza la función move_uploaded_file(), que recibe el nombre del archivo temporal que se desea subir y el nombre del archivo que se desea dar.

Cuando se sube el archivo, el servidor lo copia en una localización temporal para que seamos nosotros los que elijamos la posición definitiva donde queremos que se almacene. Si no lo copiamos a ningún sitio, después de la ejecución de la página, se borra de su localización temporal.

La función move_uploaded_file() se utiliza para mover el archivo a la posición definitiva. Recibe por un lado el nombre temporal del fichero y por otro el nombre que deseamos colocarle definitivamente y, si se desea, la ruta para llegar al directorio donde queremos guardarlo. En el caso del ejemplo sólo se indica el nombre del archivo, por ello el fichero se subirá al mismo directorio donde están las páginas PHP que hacen el upload. Esta función devuelve un boleano que indica si hubo o no éxito al subir el archivo.

Nota: Es importante señalar que el upload de archivos es un proceso crítico que puede dar lugar a errores y agujeros de seguridad. Por ejemplo, si los directorios destino están protejidos contra escritura, nos dará un error. Podemos ver los errores comunes relatados en la página de PHP.

Recomendamos una vez más ampliar esta información en la página de PHP: http://www.php.net/manual/es/features.file-upload.php


Bueno eso es lo que mas deben saber de PHP lo demas no ase falta porq el script sera mas de PHP




Saludos y Suerte !