Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/04/2005, 17:14
sebtev
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
Pues en realidad ese script solo guarda el path en la DB, es decir q te funcionaría perfecto, solo lo deberías de implementar con tu sistema de autenficación y actualizarlo un poco (echo en lugar de print), y algunos detalles como examinar primero el tipo de archivo q "tus amigos" están subiendo para evitar lo q no quieran q suban, pero debe de funcionar.
Busca en el foro q hay más e incluso hay un script q redimensiona las imágenes automáticamente con usando nada más q la librerías GD de PHP.
Si es q tus amigos van a subir fotos... empezalo vos, dedicate tu tiempo... después avanzamos

Código HTML:
<form enctype="multipart/form-data" action="guardar.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
TITULO: <input type="text" name="nov_titulo">
CONTENIDO: <input type="text" name="nov_texto">
SUBIR ESTA IMAGEN: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
Presta atención a "enctype=...", esto te permite enviar archivos mediante el method, en este caso POST, el action es guardar.php, en este script pondremos lo sig:
Código PHP:
<?
require "config-inc.php";
//nombre de usuario de la base de datos, password, etc.
?>
Código PHP:
<?php
$dbconexion 
mysql_connect($dbconfig["localhost"],$dbconfig["user"],$dbconfig["password"]) or die("no se puede establecer una conexión con la Base de Datos, por favor vuelva a intentarlo dentro de algunos minutos. <a href=\"javascript:history.go(-1);\" class=\"navegador\">volver</a>") or die(mysql_error());
mysql_select_db($dbconfig[db]) or die(mysql_error());
//conexión con la BD (Base de Datos) y selección de la misma (mysql_select_db)
?>
Código PHP:
<?
if (isset($_POST['nov_titulo'])){$nov_titulo $_POST['nov_titulo'];}
if (isset(
$_POST['nov_texto'])){$nov_texto $_POST['nov_texto'];}
?>//chequeo del POST (formulario)
Código PHP:
<?php
$unique 
time();
$uploaddir $_SERVER['DOCUMENT_ROOT'].'/patch/carpeta/uploads/'.$unique;
$uploadfile $uploaddir $_FILES['userfile']['name'];
$uploadcheck $uploadfile;

//la variable unique es la hora actual en formato unix, esto solamente lo uso para evitar que dos imágenes tengan el mismo nombre, uploadfile toma en SERVER[DOCUMENT_ROOT] el patch del servidor (en windows por ej. c:\apache\www), con el punto (.) la agregamos el patch donde queremos que nos guarde las imágenes y le agregamos la fecha. En uploadfile le agregamos el nombre de la imágen. Uploadcheck es para chequear lo siguiente:

if(empty($_FILES['userfile']['name'])){
$uploadfile "";}

//con esto evitamos que en la base de datos nos guarde, en caso de que no se halla subido una imagen en el formulario, el patch solo, por ej. (c:\apache\www\patch\carpeta\uploads\$unique).

$update mysql_db_query("$dbconfig[db]","INSERT INTO $dbtable[novedades] (nov_img, nov_titulo, nov_texto, nov_fecha) VALUES ('$uploadfile', '$nov_titulo', '$nov_texto', CURRENT_DATE)") or die(mysql_error());

//aquí insertamos en la DB los datos, nada raro, solo el CURRENT_DATE que utilizamos para ingresar la fecha actual en el campo nov_fecha de la DB, no tiene nada que ver con tu pregunta, pero ya que yo la utilizo, la deje por si alguna vez te sirve.

$borrarID mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] DROP id") or die(mysql_error());
$alterarmysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id)") or die(mysql_error());

print 
"<pre>";
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print 
"El archivo fue subido con éxito";
print 
"Información del archivo:";
print_r($_FILES);
} else {
print 
"El archivo no se pudo subir, información:\n";
print_r($_FILES);
}
print 
"</pre>";
?>
Te clarifico un poco el código para q lo entiendas mejor
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...