Foros del Web » Programando para Internet » PHP »

Poner url de un archivo del servidor en un campo de un form

Estas en el tema de Poner url de un archivo del servidor en un campo de un form en el foro de PHP en Foros del Web. Hola a todos, he cogido un script para subir un fichero al servidor que encontré en este foro y le he añadido otro form en ...
  #1 (permalink)  
Antiguo 14/12/2007, 05:58
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Poner url de un archivo del servidor en un campo de un form

Hola a todos,

he cogido un script para subir un fichero al servidor que encontré en este foro y le he añadido otro form en el que quiero que aparezca la url del archivo subido.

Es decir, el usuario sube un fichero, y despues de subido quiero que en el campo correspondiente aparezca la url del fichero subido con el formato: html://www.dominio.com/file.ext

El archivo lo sube bien pero no me aparece la url en el campo correspondiente pese a que le pongo: value="<?$_FILES['fichero']['name']?>"

Qué estoy poniendo mal?

Este es el código:

<?php
echo
'Nombre fichero = '. $_FILES['fichero']['name'] .'<br>'.
'Nombre fichero temporal = '. $_FILES['fichero']['tmp_name'] .'<br>'.
'Tipo de fichero = '. $_FILES['fichero']['type'] .'<br>'.
'Tamaño del fichero = '. $_FILES['fichero']['size'] .'bytes<br>'.
'Error = '. $_FILES['fichero']['error'] .'<br>'.
'Abrir fichero = <a href="index/Pruebas/subir_archivos/'. $_FILES['fichero']['name'] .'">'. $_FILES['fichero']['name'] .'</a><br>'.
'Debug : ';
print_r($_FILES);// Esto es redundante, pero bueno.
if (is_uploaded_file($_FILES['fichero']['tmp_name'])) {
move_uploaded_file($_FILES['fichero']['tmp_name'] , 'index/Pruebas/subir_archivos/'. $_FILES['fichero']['name']);
echo "OKKKKKKKKKKK.";
}
else
{
switch($_FILES['fichero']['error'])
{
case 0: //no error; possible file attack!
echo "Hubo un problema con el fichero.";
break;
case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini
echo "El fichero que intentas subir es demasiado grande.";
break;
case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form
echo "El fichero que intentas subir es demasiado grande.";
break;
case 3: //uploaded file was only partially uploaded
echo "El fichero que intentas subir fue subido sólo parcialmente.";
break;
case 4: //no file was uploaded
echo "El fichero no fue subido.";
break;
default: //a default error, just in case! :)
echo "Hubo un problema con el fichero.";
break;
}
}
?>

<form action="manda_mail.php" method="post">
Mail to:<input type="text" name="correo" value="">
File: URL<input type="text" name="archivo" value="<?$_FILES['fichero']['name']?>">
<input type="submit" value="Mandar_correo">
</form>


<form enctype="multipart/form-data" action="prueba4.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
Archivo: <input name="fichero" type="file">
<input type="submit" value="Enviar">
</form>


Muchas gracias de antemano y saludos al foro,
Mickeyzgz
  #2 (permalink)  
Antiguo 14/12/2007, 06:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: Poner url de un archivo del servidor en un campo de un form

Si usas echo mejor:
Código HTML:
value="<?php echo $_FILES['fichero']['name']?>">
  #3 (permalink)  
Antiguo 19/12/2007, 09:23
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Poner url de un archivo del servidor en un campo de un form

Hola de nuevo,

gracias por vuestra repuesta.

He puesto el 'echo' pero no me funciona.

La subida del fichero la hace muy bien, pero al volver a la página no me muestra el nombre del archivo subido en el campo correspondiente.

Además es un código sencillo. Os pongo como lo tengo ahora. Espero que me podais ayudar:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Email anyone</title>
</head>

<body>
<p><font size="5"><b>Email</b></font></p>

//desde aqui

<?
//DESDE AQUI LA SUBIDA DEL FICHERO

//URL
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

//Directorio de subida
$upload_dir = "../ficheros/";

if ($_FILES['fichero']) {

$file_type = $_FILES['fichero']['type'];
$file_name = $_FILES['fichero']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,". ")));

$mensaje = do_upload($upload_dir, $upload_url);

print "<script>window.location.href='$url?mensaje=$mensa je'</script>";
}
else if (!$_FILES['fichero']);

//Aca hacemos el upload
function do_upload($upload_dir, $upload_url) {

$temp_name = $_FILES['fichero']['tmp_name'];
$file_name = $_FILES['fichero']['name'];

//Aca reemplazo saco las comillas y barras de los nombres
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);

//Aca reemplazo los espacios del nombre por guion bajo
$file_name = str_replace(" ","_",$file_name);
$file_path = $upload_dir.$file_name;

//Chequeo el nombre del archivo
if ( $file_name =="") {
$mensaje = "Nombre invalido o vacio";
return $mensaje;
}

$resultado = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0777))
$mensaje = "Fallo el cambio de permisos a 0777.";
else
$mensaje = ($resultado)?"$file_name subido con exito." :
"Hubo un error al subir el archivo.";
$nom_arc = str_replace(" ","_",$file_name); //************************************************** *****************
return $mensaje;
}
//HASTA AQUI LA SUBIDA DEL FICHERO
?>

//hasta aqui

<form action="<? PHP_SELF; ?>" method="POST">
<? echo "$errormessage"; ?>
<p>
<font color="#000000">
<input type="submit" value="Submit" name="submit">
</font> </p>
<input type="hidden" name="required" value="to,from,name,subject,message">
File: URL<input type="text" name="archivo" value="http://www.matildecanozaragoza.es/cms/archivos/ficheros/<?php echo $_FILES['fichero']['name']?>">
</form>
------------------------------------------------------------------------------------
<form enctype="multipart/form-data" action="<? PHP_SELF; ?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
Archivo: <input name="fichero" type="file">
<input type="submit" value="Enviar">
</form>

</body>
</html>


Muchas gracias de antemano y saludos al foro,
Mickeyzgz
  #4 (permalink)  
Antiguo 19/12/2007, 10:07
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Poner url de un archivo del servidor en un campo de un form

No os preocupéis, he utilizado sesiones y problema resuelto.

Saludos,
Mickeyzgz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:18.