La tabla para almacenar estos archivos se llama Multimedia, y esta posee estos campos:
Nombre
Describir
Archivo
Usuario
El nombre es valga la redundancia el nombre que el usuario desee que salga en la cabecera cuando suba el archivo.
Describir pone la descripcion del archivo (breve).
En Archivo que es lo que quiero saber, como almaceno un hipervinculo dentro de la base de datos?, (ahora les pongo el codigo).
y en Usuario simplemente guardo el usuario que este loggeado con el $_SESSION, es facil.
Simplemente es la unica relacion que veo para poder subir las imagenes, el hipervinculo lo genero al subir la imagen a la direccion en mi servidor.
Formulario para subir archivo.
Código PHP:
<?php
session_start();
?>
<fieldset>
<legend>Subir Archivo</legend>
<p>Seleccione un archivo y pulse 'upload' </p>
<form name="form1" enctype="multipart/form-data" method="post" action="upload.php" />
Nombre: <input type="text" name="nombre" maxlength="100"><br>
<p><input type="file" size="32" name="my_field" value="" /></p>
<p class="button"><input type="hidden" name="action" value="simple" />
<input type="submit" name="Submit" value="upload" /></p>
</form>
</fieldset>
Upload.php
Código PHP:
$handle = new Upload($_FILES['my_field']);
// then we check if the file has been uploaded properly
// in its *temporary* location in the server (often, it is /tmp)
if ($handle->uploaded) {
// yes, the file is on the server
// now, we start the upload 'process'. That is, to copy the uploaded file
// from its temporary location to the wanted location
// It could be something like $handle->Process('/home/www/my_uploads/');
$handle->Process('../Multimedia');
// we check if everything went OK
if ($handle->processed) {
// everything was fine !
echo '<fieldset>';
echo ' <legend>El Archivo se Subio Correctamente!!!</legend>';
echo ' <p>' . round(filesize($handle->file_dst_pathname)/256)/4 . 'KB</p>';
echo ' Vea el Archivo: <a href="'.$dir_pics.'/' . $handle->file_dst_name . '">' . $handle->file_dst_name . '</a>';
echo '</fieldset>';
mysql_select_db('eductecn_sistema');
$sql1= "insert into multimedia(nombre, imagen, usuariop) VALUES ('$nombre','<a href="'.$dir_pics.'/' . $handle->file_dst_name . '">' . $handle->file_dst_name . '</a>','$usuario')";
mysql_query($sql1);
Código PHP:
echo ' Vea el Archivo: <a href="'.$dir_pics.'/' . $handle->file_dst_name . '">' . $handle->file_dst_name . '</a>';
PD: Antes habia utilizado el Blob en mysql, pero no me resulta muy comodo para trabajarlo, creo que mas facil poniendo el hipervinculo y luego mostrandolo, facil y eficiente :D. Saludos.
PD2: El error que me da al subir ese hipervinculo es este:
Código PHP:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/eductecn/public_html/Facilitador/upload.php on line 113