Tutorial
  Tutorial PHP
 
     
  Tutorial de PHP basico  
  Pregunta: ¿Cómo puedo comenzar con PHP? ¿Dónde puedo obtener información/software sobre PHP?
Respuesta:


Página web oficial de PHP: Manual en línea de PHP: Pre-instaladores WAPM (Windows+Apache+PHP+Mysql):Más info en Maestros del Web

Guía de Instalación manual:
Tutoriales en castellano:
Tutoriales y artículos sobre PHP (en ingles):
Recursos (Scripts/código):
Editores de Código PHP:
  • http://www.php-editors.com/
  •  


     

    Pregunta: ¿Cómo puedo saber que módulos tengo instalados en el Servidor?
    Respuesta: Para saber que módulos tienes configurados en elservidor, lo que puedes hacer es crear un nuevo script PHP y colocarlo dentro de un directorio que puedas acceder a través de tu navegador. El Script debería contener lo siguiente:

    Código PHP:
    <?
    phpinfo
    ();
    ?>

    Suponiendo que llamaras a este script phpinfo.php, lo que tienes que hacer es accederlo con tu navegador.

     


     

    Pregunta: ¿Cómo puedo subir archivos a través de un formulario?
    Respuesta: Con el siguiente ejemplo.

    Código PHP:
    <?php
    if (isset($_POST['submit'])) { 
        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'])) { // se coloca en su lugar final
                        
    echo "<b>Upload exitoso!. Datos:</b><br>";
                echo 
    "Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
                echo 
    "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
                        echo 
    "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
                            echo 
    "<br><hr><br>";
            }
        }

    // A continuación el formulario
    }
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">
        Archivo: <input name="fichero" type="file">
        <input name="submit" type="submit" value="Upload!"> 
    </form>
    Funciona de la siguiente manera:

    El código sube un archivo via HTTP POST, este se guarda automaticamente con un nombre y en una carpeta temporales del servidor mientras corre el codigo, despues el mismo servidor lo borra (por seguridad). La función is_uploaded_file() verifica que este procedimiento haya sido exitoso. Posteriormente el archivo es movido a su posición final con la función move_uploaded_file().


    Notas:
    • Es necesario el atributo enctype="multipart/form-data" del formulario, es lo que indica que se están enviando archivos.
    • El primer key de $_FILES corresponde al name del filebox; En el ejemplo "fichero".
    • Si se quiere condicionar la carga del archivo según su peso y/o tipo se deberá hacer a través de los datos arrojados por la variable superglobal $_FILES antes de colocarlo en su posición final. Por ejemplo:
    Código PHP:
    If(is_uploaded_file($_FILE['fichero']['tmp_file']) {
        If(
    $_FILES['fichero']['type']=="image/jpeg") {
            
    // Proseguimos solo si se trata de un JPG
            
    move_uploaded_file("...etc..."); 
        } else echo 
    "El archivo no es una imágen JPG";
    // bien puede condicionarse $_FILES['fichero']['size'] > XXXX
    // donde 'XXXX' es un número entero representando los bytes máximos del archivo 
    • Listas de los MIME TYPE hay muchas en internet. Una muy completa se encuentra en webmaster-toolkit
    • En el ejemplo el archivo es guardado en la misma carpeta, si se quiere modicar esto ha de cambiarse el parámetro correspondiente de la función move_uploaded_file(). Por ejemplo:
    Código PHP:
    $ruta"carpeta/".$_FILES['fichero']['name']; // Se guardaría dentro de "carpeta" con el nombre original
    // $ruta= "carpeta/nuevo_nombre.jpg"; si también se quiere renombrar
    move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta);

    // Puede guardarse $ruta en una Base de Datos para su uso posterior 

     

  • La carga de archivos es dependiente de la configuración del servidor: disponer de permisos, no exeder el tamaño límite, el nombre de la carpeta personal, etc.
  • Para detalles lease la documentación oficial: www.php.net/features.file-upload

     


     

    Pregunta: Como envio un email en formato HTML
    Respuesta:

    Código PHP:
    <?php
    $sfrom
    =""//cuenta que envia
    $sdestinatario=""//cuenta destino
    $ssubject=""//subject
    $shtml=""//mensaje
    $sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
    $sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
    $sheader=$sheader."Mime-Version: 1.0\n";
    $sheader=$sheader."Content-Type: text/html";
    mail($sdestinatario,$ssubject,$shtml,$sheader);
    ?>
  •