DW03 CTES WEB - 05 - Strings y Archivos

14
CLIENTES WEB Strings y Manejo de archivos Prof. Germán Rodríguez – [email protected] 1 FUNCIONES PARA STRINGS Las funciones de manejo de texto corresponden con una librería de funciones que permitirán procesar las cadenas de texto que levantemos de archivos de texto plano, de formularios o de una base de datos. LONGITUD DEL TEXTO: strlen: Longitud de la cadena de texto, recibe como único argumento un string. str_word_count: Cantidad de palabras en el String, recibe como argumento un string. $texto = "Este es mi texto de prueba"; $caracteres = strlen( $texto ); $ palabras = str_word_count( $texto ); echo "Hay $ palabras palabras con un largo de $caracteres caracteres"; MANEJO DE MAYUSCULAS/MINUSCULAS ucfirst: 1era letra mayúsculas, recibe como único argumento un string. ucwords: 1era letra de cada palabra en mayúsculas, recibe como argumento un string. strtoupper: Todo el texto a mayúsculas, recibe como único argumento un string. strtolower: Todo el texto a minúsculas, recibe como único argumento un string. $texto1 = "este texto esta todo en minusculas\n"; $texto2 = "ESTE TEXTO ESTA TODO EN MAYUSCULAS\n"; echo "<b>ucfirst:</b> " . ucfirst( $texto1 ); echo "<b>ucwords:</b> " . ucwords( $texto1 ); echo "<b>strtoupper:</b>" . strtoupper( $texto1 ); echo "<b>strtolower:</b>" . strtolower( $texto2 ); //Esto no hace nada porque ya esta mayúsculas echo "<b>ucwords texto2: </b>" . ucwords( $texto2 ); //Primero hay que pasarlo a minúsculas echo "<b>ucwords + strtolower:</b> ".ucwords(strtolower($texto2));

description

erer erf erfe f e

Transcript of DW03 CTES WEB - 05 - Strings y Archivos

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 1

    FUNCIONES PARA STRINGS

    Las funciones de manejo de texto corresponden con una librera de funciones que permitirn

    procesar las cadenas de texto que levantemos de archivos de texto plano, de formularios o de

    una base de datos.

    LONGITUD DEL TEXTO:

    strlen: Longitud de la cadena de texto, recibe como nico argumento un string.

    str_word_count: Cantidad de palabras en el String, recibe como argumento un string.

    $texto = "Este es mi texto de prueba";

    $caracteres = strlen( $texto );

    $ palabras = str_word_count( $texto );

    echo "Hay $ palabras palabras con un largo de $caracteres caracteres";

    MANEJO DE MAYUSCULAS/MINUSCULAS

    ucfirst: 1era letra maysculas, recibe como nico argumento un string.

    ucwords: 1era letra de cada palabra en maysculas, recibe como argumento un string.

    strtoupper: Todo el texto a maysculas, recibe como nico argumento un string.

    strtolower: Todo el texto a minsculas, recibe como nico argumento un string.

    $texto1 = "este texto esta todo en minusculas\n";

    $texto2 = "ESTE TEXTO ESTA TODO EN MAYUSCULAS\n";

    echo "ucfirst: " . ucfirst( $texto1 );

    echo "ucwords: " . ucwords( $texto1 );

    echo "strtoupper:" . strtoupper( $texto1 );

    echo "strtolower:" . strtolower( $texto2 );

    //Esto no hace nada porque ya esta maysculas

    echo "ucwords texto2: " . ucwords( $texto2 );

    //Primero hay que pasarlo a minsculas

    echo "ucwords + strtolower: ".ucwords(strtolower($texto2));

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 2

    ETIQUETAS HTML

    nl2br: Convertir todos los \n a , recibe como nico argumento un string.

    htmlspecialchars: convertir todo carcter especial a entidad HTML.

    htmlspecialchars_decode: Al revs del anterior, recibe como argumento un string.

    htmlentities: similar a htmlspecialchars, salvo que TODO caracter que tenga una

    entidad ser convertido (como acentos y ees), recibe como argumento un string.

    htmlentities_decode: Paso inverso a htmlentities, recibe como argumento un string.

    strip_tags: Eliminar toda etiqueta HTML, recibe como nico argumento un string.

    $texto = "Malditas etiquetas HTML arruinan

    mi diseo\n";

    echo "Texto comun: ". $texto;

    echo "htmlspecialchars: ". htmlspecialchars( $texto );

    echo "htmlentities: ". htmlentities( $texto );

    echo "strip_tags: ". strip_tags( $texto );

    A simple vista tanto htmlspecialchars como htmlentities hicieron lo mismo, pero si miramos el

    cdigo fuente, la segunda ha convertido tambin la de diseo a su entidad HTML ().

    ESPACIOS DE MS

    trim: Elimina espacios vacos de cada punta del String, recibe un argumento string.

    ltrim: Elimina solo del left, recibe como nico argumento un string.

    rtrim: Elimina solo del right, recibe como nico argumento un string.

    $texto = " Una cadena de texto con espacios alrededor ";

    var_dump( $texto );

    var_dump( trim( $texto ) );

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 3

    var_dump( ltrim( $texto ) );

    var_dump( rtrim( $texto ) );

    wordwrap: Ajusta el string a una cantidad fija de caracteres y hace un retorno de lnea.

    Recibe cuatro argumentos. El primero es el string a cortar, el segundo la cantidad de

    caracteres por cada lnea, el tercero el carcter que se usar para hacer el quiebre de las

    cadenas de texto (por defecto es "\n").

    El cuarto argumento es un booleano optativo, si es FALSE (valor por defecto) si una

    palabra es ms larga que el segundo argumento, la completa y luego hace el salto de

    lnea. Si se pone en TRUE, la palabra se corta en la cantidad de caracteres especificada.

    echo "Cuatro argumento en false:\n";

    echo wordwrap( $texto, 4, '', false ); //no fuerza el corte

    echo "Cuatro argumento en true:\n";

    echo wordwrap( $texto, 4, '', true );// quiebra las de palabras

    ENCRIPTACIN:

    Estas funciones se usan, principalmente, para encriptar claves y no guardarlas en formato

    texto-plano.

    En ambos casos, a misma cadena de texto de entrada, se producir la misma salida.

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 4

    md5: Recibe como argumento un string y lo codifica en MD5 (32 caracteres en

    hexadecimal), recibe como nico argumento un string.

    sha1: Recibe un string y lo codifica en SHA1 (40 caracteres en hexadecimal), recibe

    como nico argumento un string.

    $pass1 = '1234';

    $pass2 = '';

    $pass3 = 'hola';

    $pass4 = 'Hola';

    echo "MD5 pass1: ". md5 ( $pass1 )."\n";

    echo "SHA1 pass1: ". sha1( $pass1 )."\n";

    echo "MD5 pass2: ". md5 ( $pass2 )."\n";

    echo "SHA1 pass2: ". sha1( $pass2 )."\n";

    echo "MD5 pass3: ". md5 ( $pass3 )."\n";

    echo "SHA1 pass3: ". sha1( $pass3 )."\n";

    echo "MD5 pass4: ". md5 ( $pass4 )."\n";

    echo "SHA1 pass4: ". sha1( $pass4 )."\n";

    BUSCAR / REEMPLAZAR CADENAS

    strpos: busca una subcadena en una cadena principal, recibe dos argumentos: Qu

    buscar y dnde hacer la bsqueda.

    str_replace: Reemplaza una cadena por otra en un string. Recibe tres argumentos:

    Qu buscamos, qu ponemos en su lugar y en qu cadena hacer el reemplazo.

    stripos: Idem strpos pero case insensitive.

    str_ireplace: Lo mismo que str_replace pero case insensitive

    $buscar = "php";

    $poner = "ASP no";

    $nuevo_string = str_replace( $buscar, $poner, $texto );

    echo "Original: " . $texto . "\n";

    echo "Nuevo Str: " . $nuevo_string . "\n";

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 5

    $texto = "Apunte de PHP. Porque php es fcil";

    $pos1 = strpos( $texto , 'php' ); //case sensitive

    $pos2 = stripos( $texto, 'php' ); //case insensitive

    echo "strpos: " . $pos1. "\n";

    echo "stripos: " . $pos2. "\n";

    Si lo que buscamos no devuelve coincidencia se recibir FALSE.

    $buscar = "ASP";

    $pos3 = strpos( $texto , $buscar ); //ASP no existe.

    echo "Resultado de buscas ASP: ";

    var_dump( $pos3 );

    Cabe recordar que el primer carcter es la posicin cero del string.

    Si comparamos con doble igual cero y false son el mismo valor.

    $buscar = "Apunte";

    $pos4 = strpos( $texto , $buscar ); //Apunte aparece al principio.

    echo "primera pos ". $pos4. "\n";

    if( $pos3 == false ){

    echo "Con doble igual NO se ha encontrado $buscar\n";

    }else{

    echo "Con doble igual SI se ha encontrado $buscar\n";

    }

    if( $pos3 === false ){

    echo "Con triple igual NO se ha encontrado $buscar\n";

    }else{

    echo "Con triple igual SI se ha encontrado $buscar\n";

    }

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 6

    SISTEMA DE ARCHIVOS

    PHP posee en su librera de funciones una lista de recursos para administrar los archivos y

    carpetas de nuestro servidor, ya sea para leer sus contenidos, crear nuevos elementos o borrar

    los existentes.

    En la mayora de los casos, acceder a alguno de estos elementos genera un objeto de tipo

    Resource (recurso), que se podra comparar con un acceso directo al objeto deseado.

    De todo el listado de funciones existente, este documento se limita solo a explicar los que se

    encargan de:

    Comprobar si el elemento solicitado es una carpeta o un archivo.

    Abrir y recorrer el listado de una carpeta (o directorio).

    Verificar si existe un archivo en el servidor (por seguridad).

    Leer/Escribir un archivo de texto plano (sin importar su extensin).

    Borrar archivos.

    En todos los casos mencionados anteriormente (salvo recorrer una carpeta) el nombre del

    archivo o carpeta a manejar ser pasado como un simple string (una cadena de texto entre

    comillas) que deber respetar toda la ruta a seguir para llegar desde el documento PHP al

    archivo o carpeta destino.

    MANEJO DE CARPETAS

    Para leer el contenido de una carpeta, es necesario hacer uso de la funcin opendir( ) que

    recibe como nico argumento la cadena de texto con el nombre de la carpeta. Esta funcin

    devolver un objeto de tipo Resource (Recurso), que sera un acceso directo al contenido de la

    carpeta

    $carpeta = opendir( 'imagenes' );

    //Accedo al directorio imagenes desde la variable $carpeta.

    echo $carpeta;

    //muestra Resource ID #3 el nmero puede ser distinto-

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 7

    Si bien esa variable $carpeta no se puede mostrar directamente con un echo, tenemos que

    pedirle que nos levante el contenido de la misma con la funcin readdir( ), que recibe entre

    parntesis el Recurso generado anteriormente (la variable $carpeta ).

    $carpeta = opendir( 'imagenes' );

    $archivo = readdir( $carpeta ) ;

    echo $archivo;

    //Muestra el nombre del primer elemento adentro de la carpeta imgenes

    Cada vez que se ejecute la instruccin readdir() el recurso se mover al archivo o carpeta

    siguiente y devolver una cadena de texto conteniendo el nombre de archivo (insisto: no es el

    archivo fsico, sino solo su nombre).

    $carpeta = opendir( 'imagenes' );

    // Accedo al recurso.

    $archivo = readdir( $carpeta ) ;

    //Me muevo un elemento en la carpeta.

    echo $archivo;

    //Muestra el nombre del primer elemento adentro de la carpeta imgenes.

    $archivo = readdir( $carpeta ) ;

    //Me muevo un elemento en la carpeta.

    echo $archivo;

    //Muestra el nombre del segundo elemento adentro de la carpeta imgenes.

    De ms est decir que sera un absurdo escribir en el cdigo tantos readdir() y echo como

    archivos tenga la carpeta, cuando la misma se puede recorrer con el uso de una estructura de

    repeticin (do while).

    Teniendo en cuenta que la diferencia funcional entre do y while (do ejecuta y despus verifica si

    se debe repetir), usaremos while (ya que puede existir el riesgo de no tener NINGUN archivo

    para mostrar).

    En la condicin del ciclo de repeticin, haremos que por cada vuelta que se ejecute, guarde en

    la una variable $archivo el nombre de CADA archivo.

    Y entre cada llave, le pediremos que haga el echo de esa variable con el nombre de archivo.

    $carpeta = opendir( 'imagenes' );

    while( $archivo = readdir($carpeta ) ){

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 8

    echo $archivo.'';

    //Mostrar uno abajo del otro, los nombres de los archivos

    }

    La funcin readdir(), devolver el valor booleano false cuando ya no existan ms archivos

    dentro de la carpeta recorrida, y dado que el while termina cuando el valor recibido es false,

    la iteracin cortar automticamente sin necesidad de escribir nada adicional.

    Luego, quedar a libertad del desarrollador si esa lista se muestra como una serie de vnculos

    para que el usuario final pueda navegarlos, o si el dato recibido se mostrar como source de

    una imagen (por ejemplo).

    $carpeta = opendir( 'imagenes' );

    while( $archivo = readdir($carpeta ) ){

    echo '';

    //muestro la etiqueta IMG del HTML, y le indico como src, que

    muestre el nombre de archivo recibido, desde la carpeta imgenes

    }

    Cabe destacar que en el ejemplo anterior donde se pretende mostrar todas las fotos de la

    carpeta imgenes, aparecern al principio dos fotos rotas, las mismas responden a dos

    CARPETAS que se encuentran en todos los listados de directorio.

    La primera es un punto ( . ) y representa la carpeta donde estamos parados en este momento.

    La segunda son dos puntos seguidos ( .. ) y representa la accin de salir un nivel (a la carpeta

    anterior o padre).

    Para eliminar el error de las dos fotos rotas, podemos hacer dos cosas distintas:

    1. Hacer el echo de la etiqueta IMG, solo si $archivo es distinto a . Y distinto a ...

    2. Hacer el echo de la etiqueta IMG, solo si $archivo NO ES un directorio.

    Para preguntar si $archivo es distinto a ambas carpetas, alcanza con hacer un if preguntando

    por el valor de la variable:

    $carpeta = opendir( 'imagenes' );

    while( $archivo = readdir($carpeta ) ){

    if( $archivo != '.' && $archivo != '..' ){

    //si no es punto, y no es punto-punto, hago el echo.

    echo '';

    }

    }

    La segunda opcin se resuelve con la funcin is_dir( valor ); que devolver un booleano con

    el valor true, si el valor recibido entre parntesis es una carpeta y false si el valor recibido entre

    parntesis no es una carpeta.

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 9

    Entonces si NO es una carpeta ( ! is_dir( ) ) hacemos el echo de la IMG.

    $carpeta = opendir( 'imagenes' );

    while( $archivo = readdir($carpeta ) ){

    if( ! is_dir( $archivo ) ){

    //salteamos TODAS las carpetas que encuentre.

    echo '';

    }

    }

    MANEJO DE ARCHIVOS

    Para el manejo de archivos, este documento se limitar a mostrar una funcin bsica que

    permite la lectura del contenido de un archivo o insertar en un archivo un determinado

    contenido.

    Son funciones ideales para la generacin de archivos de tipo TXT, HTML, SQL o XML (o

    cualquier formato de texto plano, que no requiera un programa que los compile).

    Para levantar el contenido de un archivo, simplemente se deber usar la funcin

    file_get_contents( ) archivo_obtener_contenidos- que recibe entre parntesis un string con

    el nombre de archivo a abrir.

    $archivo = file_get_contents( 'datos.txt' );

    //Guarda en $archivo todo el contenido de datos.txt

    echo $archivo; //Muestra ese contenido en el HTML.

    Por otra parte, para insertar contenido en un archivo tenemos dos opciones: La primera es, a

    un archivo existente, agregarle contenido. La segunda es, a un archivo existente, reemplazarle

    el contenido.

    Para eso tenemos la funcin file_put_contents( ) archivo_insertar_contenidos- que recibe

    dos o tres argumentos segn se desee agregar o reemplazar el contenido.

    Los dos primeros argumentos son el nombre del archivo a escribir y todo el string a insertar.

    El tercer argumento es optativo, y si recibe la constante FILE_APPEND (as como figura ac,

    sin comillas y todo en maysculas) en vez de reemplazar el contenido del archivo, lo agregar

    al final del ltimo caracter del archivo solicitado:

    $contenido = 'Hola a todos'; //Una cadena de texto comn y corriente.

    file_put_contents( 'archivo.txt', $contenido ); //Inserto y reemplazo.

    $otro_contenido = 'Contenido nuevo'; //Otra cadena de texto

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 10

    file_put_contents( 'archivo.txt', $otro_contenido ); //Se pierde lo

    anterior

    $agregar_contenido = 'Contenido nuevo'; //Otra cadena de texto

    file_put_contents( 'archivo.txt', $agregar_contenido , FILE_APPEND);

    //Agrega al final

    En todos los ejemplos, cada vez que se hace uso de la funcin file_put_contents() y se

    solicita un nombre de archivo que no existe, el mismo es creado en el momento, sin contenido.

    Para borrar un archivo existente, simplemente se necesita la funcin unlink( ) que recibe como

    nico argumento el nombre de archivo que se busca eliminar.

    unlink( 'archivo.txt' ); // borra archivo.txt

    Por ltimo, en TODOS los casos que se quiera leer el contenido de un archivo o borrar un

    archivo del servidor, es necesario corroborar que el mismo existe, caso contrario PHP cortar

    con un error de archivo no encontrado.

    Eso se hace con una funcin que devolver true en caso de encontrar el archivo o false si el

    mismo no existe en la ruta solicitada, file_exists( ); Solo en caso que exista podremos leer o

    borrar el archivo en cuestin.

    if( file_exists( 'archivo.txt' ) ){ //Solo si existe archivo.txt

    unlink( 'archivo.txt' ); //Borra archivo.txt

    }

    if( file_exists( 'archivo.txt' ) ){ //Solo si existe archivo.txt

    echo file_get_contents( 'archivo.txt' );

    //Muestra el contenido de archivo.txt

    }

    SALTOS DE LINEA

    Cabe destacar que tanto para mostrar en el documento HTML, como para guardar datos en un

    archivo, los saltos de lnea son un tema para tener en cuenta.

    Cuando creamos una cadena de texto (un string) que queremos guardar en un archivo, cada

    vez que queremos generar un salto de lnea, deberemos usar la combinacin de los caracteres

    \n que dentro del archivo, generarn un salto de lnea:

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 11

    $contenido = "Hola\nMundo"; //La primer lnea tiene Hola la segunda

    Mundo.

    file_put_contents( 'archivo.txt' , $contenido ); //guarda en archivo.txt

    Ahora, a la hora de mostrar el contenido de un archivo de texto plano en el HTML, todos esos

    saltos de lnea ( \n ) para el HTML no significan nada (para hacer un salto de lnea, utiliza la

    etiqueta ), por lo cual todos nuestros enters se mostrarn de corridos en el sitio web.

    Para resolver esto, los contenidos que provengan de un file_get_contents() (o de cualquier

    origen que pueda tener saltos de lnea \n) deberemos procesarlos por la funcin que convierte

    los saltos de lnea en elementos . Ess funcin es nl2br() (New Line TO BR Nueva

    lnea a br ).

    $contenido = file_get_contents( 'archivo.txt'); //abro archivo.txt

    echo nl2br( $contenido ); //muestro $contenido pasando los \n en .

    CARGA DE ARCHIVOS

    Subir un archivo desde el disco de un usuario a un sitio web (en el servidor) es una tarea que

    solo puede realizarse mediante el uso de formularios, utilizando el control de tipo FILE.

    Tal como sucede con todos los controles de formulario, el input de tipo FILE, debe tener

    especificado un nombre mediante el uso del atributo NAME que ser la forma en que luego se

    buscar desde PHP.

    Cabe recordar que para poder utilizar los input de tipo FILE, el formulario deber tener el

    atributo ENCTYPE con el valor seteado en multipart/form-data, que es la manera en que se

    envan los archivos adjuntos por la red. De no tenerlo, el archivo no ser enviado.

    $_FILES

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 12

    As como PHP ofrece las colecciones predeterminadas $_GET y $_POST, que nos permite

    acceder mediante el uso de corchetes (como un array asociativo) a los datos enviados por los

    mtodos get y post, tambin ofrece el array de archivos $_FILES.

    Este array, tendr un elemento por cada control de tipo FILE recibido de un formulario,

    referenciado por el NAME que se le haya indicado. De tal manera si tenemos un formulario con

    los siguientes dos archivos adjuntos:

    Tendremos una posicin del $_FILES por cada archivo, y entre los corchetes los identificaremos

    por el NAME de cada uno:

    $archivo1 = $_FILES['archivo1']; //primer input

    $archivo1 = $_FILES['otro_archivo']; //segundo input

    El array $_FILES es multidimensional, lo cual significa que por cada uno de esos archivos,

    podremos acceder las siguientes informaciones:

    tmp_name: nombre de la carpeta y del archivo donde fue subido temporalmente al

    servidor (generalmente se trata de una carpeta de sistema). Este valor lo genera

    automticamente el servidor al recibir un control de tipo FILE, con este valor

    recuperaremos el archivo subido.

    name: nombre real del archivo recibido.

    size: tamao en bytes del archivo recibido. Este dato es importante para hacer

    restricciones basadas en el peso lmite aceptado.

    type: mime-type del archivo recibido, ejemplo, un JPG mostrar image/jpeg.

    error: booleano que mostrar 0/1 acorde a si se ha detectado un error en la recepcin

    del archivo (por ejemplo, que se haya cortado la transferencia o haya llegado corrupto)

    Esta lista de valores las podemos acceder ya sea desde las variables $archivo1 y $archivo2

    por los $_FILES[archivo] y $_FILES[otro_archivo], como se muestra a continuacin:

    //Guardo el archivo recibido en una variable

    $archivo1 = $_FILES['archivo'];

    //Muestra el nombre del archivo enviado

    echo $archivo1['name'];

    //Hace lo mismo que la lnea anterior

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 13

    echo $_FILES['archivo']['name'];

    As es como se ve todo el contenido del array $_FILES cuando se reciben los archivos foto.jpg y

    cancin.mp3 (mostrado desde un print_r ).

    Array

    (

    [archivo] => Array

    (

    [name] => foto.jpg

    [type] => image/jpeg

    [tmp_name] => C:\wamp\tmp\phpBE4.tmp

    [error] => 0

    [size] => 3660

    )

    [otro_archivo] => Array

    (

    [name] => cancion.mp3

    [type] => audio/mp3

    [tmp_name] => C:\wamp\tmp\phpBF5.tmp

    [error] => 0

    [size] => 2922916

    )

    )

    CAPTURANDO LOS ARCHIVOS

    Cuando un formulario enva un archivo al servidor, en primera instancia el mismo se almacena

    temporalmente en una carpeta del sistema operativo y no del sitio web y con un nombre que

    no es el real. Esa informacin se puede recuperar con el tmp_name del archivo recibido.

    Para poder guardar el archivo recibido en la carpeta destino de nuestro sitio web, el documento

    PHP que procesa el upload de los archivos deber moverlo de la carpeta temporal a la carpeta

    destino mediante el uso de la funcin move_uploaded_file(); mover archivo subido. Esta funcin recibe slo dos valores entre los parntesis: carpeta y nombre del archivo original, carpeta y nombre del archivo destino.

    //Guardo el archivo recibido en una variable

    $file = $_FILES['archivo'];

    //Carpeta y nombre temporal del archivo recibido

    $origen = $file['tmp_name'];

    //Carpeta y nombre del archivo subido

    $destino='uploads/'.$file['name'];

    //Mueve el archivo temporal al nuevo nombre.

    move_uploaded_file( $origen , $destino );

  • CLIENTES WEB Strings y Manejo de archivos

    Prof. Germn Rodrguez [email protected] 14

    Si se guarda en una variable, la funcin move_uploaded_file() devuelve un booleano, que

    dar false en caso de haber ocurrido un error en la carga permitiendo la depuracin de errores

    o la notificacin del archivo cargado satisfactoriamente. //Guardo el archivo recibido en una variable

    $file = $_FILES['archivo'];

    //Carpeta y nombre temporal del archivo recibido

    $origen = $file['tmp_name'];

    //Carpeta y nombre del archivo subido

    $destino='uploads/'.$file['name'];

    //Mueve el archivo temporal al nuevo nombre y guarda la respuesta en una

    variable.

    $respuesta = move_uploaded_file( $origen , $destino );

    if( $respuesta == true ){

    echo 'Archivo subido ok';

    }else{

    echo 'Error en la carga';

    }