PHP - Subir imagenes al servidor

   
Vista:
Imágen de perfil de siREZ

Subir imagenes al servidor

Publicado por siREZ sirez2@hotmail.com (201 intervenciones) el 05/09/2012 21:10:49
Cordial Saludo.

quiero subir imagenes al servidor y almacenarlas en una carpeta de nombre imagenes que he creado.

utilizo un formulario y luego un script PHP pero no me funciona.

Puede alguien ayudarme, o guiarme al respecto?

El formulario es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$defecto = 'Eliga el archivo a subir y presione el boton Enviar!.';
$msg = ($_GET['errno']==1) ? $_GET['errmsg'] : $defecto;
?>
<form method="post" enctype="multipart/form-data" action="enviar.php">
	<table width="50%" style="margin: auto;">
		<tr>
			<td colspan="2" style="width: 100%;"><b><?=$msg?></b></td>
		</tr>
		<tr>
			<td style="width: 45%;">(1) Elegir Archivo:</td>
			<td style="width: 55%;"><input type="file" name="archivo" size="20" /></td>
		</tr>
		<tr>
			<td style="width: 45%;">(2) Enviar Archivo:</td>
			<td style="width: 55%;"><label>
			  <input type="submit" name="button" id="button" value="Enviar" />
		    </label></td>
		</tr>
	</table>
</form>


=======================================
el scrip que me debe levantar el archivo es:
=======================================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
# Nombre carpeta de archivos
$carpeta_archivos = 'imagenes';
# Maximo Bytes
$bytes_max = '5000';
# Si la carpeta no existe la creamos y le aplicamos los permisos.
if(!file_exists($carpeta_archivos))
{
	mkdir($carpeta_archivos);
	@chmod($carpeta_archivos, 0777);
}
 
# Verificamos que este setiado el archivo.
if($_FILES['archivo'])
{
	# Verificamos que su tamaño sea mejor que los bytes que as puesto en la configuración.
	if((1000 * $bytes_max) > $_FILES['archivo']['size'])
	{
		# Seteamos las variables para mejor facilidad
		$tmp = $_FILES['archivo']['tmp_name'];
		$name = $_FILES['archivo']['name'];
		$ahora = $carpeta_archivos.'/'.$name;
 
		# Movemos el archivo a la carpeta
		move_uploaded_file($tmp, $ahora);
 
		# Nos movemos al index.php
		header("Location: index.php");
	}
	else
		header("Location: index.php?errno=1&errmsg=Su archivo excede los ".$bytes_max."bytes.");
}
else
	header("Location: index.php?errno=1&errmsg=No ah seleccionado ningun archivo.");
 
?>


=====================================================
pero no hace nada.....

gracias por su ayuda.

siREZ
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

Subir imagenes al servidor

Publicado por EfrainMejiasC (45 intervenciones) el 05/09/2012 22:02:54
HOLA
aqui lo hago ...me imagino muy parecido a lo q tu quieres ...la carpeta a la qu subo se llama files
y adicional encontraras un fragmento de codigo por alla a bajo q al entrar en tu pagina abre la carpeta a la q subes tu archivos y te la lista si quieres poder descargarlo....

este es el formulario : FormSubirArchivo.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!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>Upload Subir File Archivo </title>
</head>
 
<body>
<table width="500" border="3" cellspacing="2">
<form name="FormSubirArchivo" action="SubirArchivoDos.php" method="post" enctype="multipart/form-data">
  <tr>
    <td><div align="center"><strong>SUBIR ARCHIVOS - UPLOADS FILES</strong></div></td>
  </tr>
  <tr>
    <td><input name ="archivo" type="file"  /></td>
  </tr>
  <tr>
    <td> <input name="enviar" type="submit" value="Upload File" />
	     <input name="action" type="hidden" value="upload" />	</td>
  </tr>
  <tr>
    <td>ARCHIVOS
	<?php
	if ($gestor = opendir( '  files / ' )) {
		echo "<ul>";
	    while (false !== ($arch = readdir($gestor))) {
		   if ($arch != "." && $arch != "..") {
			    echo "<li><a href=\"files/".$arch."\" class=\"linkli\">".$arch."</a></li>\n";
		   }
	    }
	    closedir($gestor);
		echo "</ul>";
	}
	?> </td>
  </tr>
  </form>
</table>
</body>
</html>


Este es el otro archivo en micaso SubirArchivoDos.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$pathDestino="files/";
opendir($pathDestino);
$flag=$pathDestino.$_FILES["archivo"]["name"];
copy($_FILES["archivo"]["tmp_name"],$flag);
echo "Archivo Subido Exitosamente";
$nombre=$_FILES["archivo"]["name"];
echo "<img src =\"files/$nombre\">";
echo "<br>"; echo "<br>";
?>
 
<!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>Documento sin t&iacute;tulo</title>
</head>
 
<body>
<form name ="up" action="FormSubirArchivo.php" method="post">
<input type="submit" value="Regresar" />
</form>
</body>
</html>
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
Imágen de perfil de siREZ

Pasa algo y no se que es... Subir imagenes al servidor

Publicado por siREZ sirez2@hotmail.com (201 intervenciones) el 06/09/2012 01:57:16
Gracias por responderme.
Estoy empleando los 2 códigos que me envió.
No marca error, marca: Archivo Subido Exitosamente y trata de mostrarme la imagen, cuando regreso, me debería mostrar el listado de archivos.

a la carpeta files le doy permisos 777 y está creada en httpdocs del servidor.
en el servidor hay una carpeta de nombre "tmp"
el codigo: hace referencia a "tmp_name"]....

copy($_FILES["archivo"]["tmp_name"],$flag);

será por eso?
Como debe ser?

gracias.
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
Imágen de perfil de xve

Pasa algo y no se que es... Subir imagenes al servidor

Publicado por xve (5513 intervenciones) el 06/09/2012 07:11:29
Lo único que se me ocurre, es que la carpeta files no este creada en el lugar correcto... según veo en el código, tiene que estar creada en la misma carpeta donde se ejecuta el archivo SubirArchivoDos.php
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
Imágen de perfil de siREZ

Pasa algo y no se que es... Subir imagenes al servidor

Publicado por siREZ sirez2@hotmail.com (201 intervenciones) el 06/09/2012 13:01:24
PERFECTO!!!!!!....

gracias, ha sido un gran aporte

siREZ
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