PHP - Subir archivos a una web

 
Vista:

Subir archivos a una web

Publicado por Leandro (16 intervenciones) el 01/10/2007 19:31:40
Buenas, estoy haciendo una web en la que quisiera que los usuarios
pudieran subir fotos u otros archivos a la web, pero nose como darle la opcion para hacerlo.
Es decir, lo que quiero saber es como hacer para darle un boton que diga "examinar" y que el usuario busque en su pc el archivo y luego lo suba a la web a travès de un button "enviar"
Espero puedan ayudarme,
Gracias,
Leandro.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subir archivos a una web

Publicado por Diego Romero (1450 intervenciones) el 01/10/2007 19:55:41
Esto no tiene que ver con PHP sino con HTML

<form name="form1" id="form1" action="" method="post" enctype="multipart/form-data">
<input name="imageField" type="file">
<input name="submit" type="submit" value="enviar">
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por victor (10 intervenciones) el 01/10/2007 20:28:27
a ese codigo va a una base de datos?
como le digo donde ir y donde alojarse?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por Diego Romero (1450 intervenciones) el 01/10/2007 22:12:18
victor, amigo, será mejor que busques un tutorial de PHP. Y te sugiero que no pretendas hallar la solución exacta a tu problema de una sola vez, antes bien ve construyendo tu solución con lo que vayas aprendiendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por Leandro (16 intervenciones) el 01/10/2007 20:30:44
Gracias Diego por la respuesta, quisiera hacerte la siguiente pregunta:
En mi codigo tengo algo mas o menos asi:
_____________________________

$libro= fopen("usuarios.txt","a+");
$s= ....
fwrite($libro,$s); // escribo en el archivo la cadena $s
while (!feof($libro)) {
$linea= fgets($libro,1);
echo $linea;
}
fclose($libro);
______________________________

Entonces lo que quiero hacer es ir caracter por caracter leyendo en el archivo e imprimiendo en pantalla , hacer eso hasta llegar al final del archivo ,lo que es hasta encontrar el end of file. Pero este còdigo entra en loop infinito, calculo que es porque nunca encuentra la constante EOF, pense que era automàtico o hay que ponersela al final de todo???

Otra cosa, Los archivos son unicamente para almacenar caracteres o es posible almacenar una imagen en un archivo? en ese caso, como serìa la lectura? o para imagenes se usa bases de datos?

Muchas Gracias,
Leandro.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por Diego Romero (1450 intervenciones) el 01/10/2007 22:09:28
No entiendo qué tiene esto ver con la pregunta inicial.

Si lo que quieres es mostrar el contenido de un archivo de texto basta con hacer:

$contenido = file_get_contents("usuarios.txt");
echo $contenido;

Y ya está.

El código que has posteado falla porque abres el archivo en modo append, haces una escritura y luego procedes a leer pero no retrocedes el puntero de lectura al inicio del archivo.

$libro= fopen("usuarios.txt","a+");
$s= fwrite($libro,$s); // escribo en el archivo la cadena $s
fclose($libro);
$libro= fopen("usuarios.txt","r");
while (!feof($libro)) {
$linea= fgets($libro,1);
echo $linea;
}
fclose($libro);

Así sería lo correcto.

Ahora bien, ¿podrías decirme exactamente qué estás intentando hacer?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por Leandro (16 intervenciones) el 02/10/2007 00:41:05
Bien, gracias por responder, osea que es necesario cerrar y volver a abrir el archivo cada vez que quiera hacer algo, osea, lo abro y cierro para escribir y luego lo abro y cierro para leer.
Respecto a lo que me preguntas, nada , simplemente cambiè el topic y te preguntè otra cosa.
La duda que tenìa y tengo es la siguiente, los archivos, son solo y unicamente para almacenar texto, o puedo almacenar otra cosa dentro de un archivo? me explico?
osea, si un usuario quisiera enviarme un mensaje (texto) a travèz de la web, yo lo almaceno en un archivo, pero si el usuario quisiera ademas adjuntarme una foto, por ej., entonces dicha foto, la puedo tratar como un archivo? es decir, la puedo almacenar en un archivo? o debo tener una base de datos para almacenar todo lo que el usuario me envie que sea distinto de texto, creo que en eso solo es que se relaciona con la 1er pregunta, en la que preguntaba como hacer para subir cosas a la web.
Espero puedas contestarme,
Saludos,
Leandro.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por Diego Romero (1450 intervenciones) el 02/10/2007 06:27:26
PHP tiene un tratamiento de archivos muy básico, de hecho ni siquiera tiene el concepto de "registro" como tienen otros lenguajes (por ejemplo Pascal). Estoy hablando de la familia de funciones fopen(), fclose(), fwrite() etc...

Ahora bien, la segunda parte de tu pregunta tiene casi nada que ver con todo esto. Lo que me preguntas es una funcionalidad que ofrece el servidor web y no PHP directamente. Es el servidor web el que se encaga de recibir el archivo desde la máquina cliente y almacenarlo en algún lugar del disco. Lo que PHP te permite es manipular ese archivo despúes que el servidor lo ha recibido. No tienes que gestionar ni la petición ni la conexión ni la recepción del archivo que te envia el cliente :).

La cosa funciona más o menos así. Escribes un formulario en HTML que le permite al cliente (es decir, el navegador de la persona que visita tu página) subir el archivo, el servidor tramita la recepción del archivo el cual lo almacena en un directorio especial (generalmente se llama "tmp" o "temp" pero depende de cómo se haya configurado, de todos modos esto no es importante como verás después) con un nombre aleatorio y además guarda en una variable del servidor el nombre original del archivo (es decir, tal como lo conoce el cliente).

En PHP puedes acceder a estos datos mediante un array superglobal llamado $_FILES donde se almacena el nombre original del archivo, el tipo (como tipo MIME), el tamaño (en bytes) y el nombre temporal en el servidor. Además PHP provee una cómoda función move_uploaded_file() que te permite mover y renombrar el archivo subido a cualquier parte de tu hosting que tú le indiques. Y ya está.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivos a una web

Publicado por Leandro (16 intervenciones) el 02/10/2007 16:29:38
Gracias Diego por responder, ya quedo todo claro.
Yo estaba medio confundido acerca de los archivos y sus tipos.Osea, yo pensaba, como es posible almacenar una foto en un archivo, porque tenia la idea de almacenar caracteres en un archivo de texto.
Pero la foto ya es un archivo, que no es de tipo texto, por lo que no es posible hacer uso de las funciones de lectura y escritura para los archivos de texto.
Saludos,
Leandro.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar