Me plantee el siguiente formulario:
contactos.html (ojo que en esta página tengo 2 formularios al mismo tiempo -los dos recolectan distintos datos-; ahora les muestro el segundo)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
</head>
<body>
........
<br />
<form name="form2" method="post" action="recibir.php" enctype="multipart/form-data">
<label> Adjunte documento a consultar: </label>
<br />
<input type="file" name="adjunto"/>
<br />
<label> Descripción de consulta de documento y datos de la Empresa: </label>
<br />
<textarea cols="60" rows="10" name="texto" wrap="soft"></textarea>
<br />
<input type="submit" name="Aceptar" value="Enviar" />
</form>
<br />
</body>
</html>
---------------------------------------------------------
se crea además tabla "documentos" con tres campos: id, ruta y texto
--------------------------------------------------------
Se crea un archivo llamado "adjuntos" que es donde deseo lleguen los archivos
------------------------------------------------------------------------
recibir.php
<?php
$conexion=mysql_connect('localhost','xxx','xxx') or die ('no hay conexión a la base de datos');
$db=mysql_select_db('base',$conexion) or die ('no existe la base de datos');
$rutaEnServidor='adjuntos';
$rutaTemporal=$_FILES['adjunto']['tmp_name'];
$nombreAdjunto=$_FILES['adjunto']['name'];
$rutaDestino=$rutaEnServidor.'/'.$nombreAdjunto;
move_uploaded_file($rutaTemporal,$rutaDestino);
$desc=$_POST['texto'];
$sql="INSERT INTO documentos (ruta,texto) values('".$rutaDestino."','".$desc."')";
$res=mysql_query($sql,$conexion);
if ($res){
echo 'inserción con éxito';
}else{
echo 'no se puede insertar';
}
?>
-----------------------------------------------
Luego de dar enviar me sale (los datos los ingresa a la tabla, pero el archico no sube al servidor):
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(C:\Windows\Temp\phpDF87.tmp) is not within the allowed path(s): (C:\xxxxx\xxxxx\midominio.com\midominio.com.pe\) in C:\xxxx\xxxx\midominio.com\midominio.com.pe\contactos\recibir.php on line 23
Warning: move_uploaded_file(C:\xxxxx\xxxxx\midominio.com\midominio.com.pe\contactos\adjuntos/buenosaires-flores-18.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\xxx\xxx\midominio.com\midominio.com.pe\contactos\recibir.php on line 23
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Windows\Temp\phpDF87.tmp' to 'C:\xxx\xxx\midominio.com\midominio.com.pe\contactos\adjuntos/buenosaires-flores-18.jpg' in C:\xxx\xxx\midominio.com\midominio.com.pe\contactos\recibir.php on line 23
inserción con éxito
-------------------------------------------------------------
ES DECIR LOGRO ENVIAR LOS DATOS A LA BASE DE DATO; PERO NO PUEDO MOVER EL ARCHIVO AL SERVIDOR
HE PROBADO COLOCANDO EN RUTA DESTINO DESDE "adjuntos", pasando por www.midominio.com/.../contactos/adjuntos/, hasta todas las posibilidades de directorios; LA VERDAD SOY NOVATO EN ESTO (sólo trato de copiar y entender lo que otros hacen). Haber si un programador o alguien más entendido me ayuda. Qué debo corregir.
Saludos
JoséMiguel
PD: mis archivos html, php, carpeta "adjuntos" se encuentra dentro una carpeta llamada "contactos".
Me base en:
subirImagen usando PHP y MySQL parte 1
http://www.youtube.com/watch?v=XK_tbkrPw0E&feature=relmfu
subirImagen usando PHP y MySQL parte 2
http://www.youtube.com/watch?v=Byp0WCuf96Y&NR=1&feature=endscreen
subirImagen usando PHP y MySQL parte 3
http://www.youtube.com/watch?v=5ekx6qpN2dk&NR=1&feature=endscreen
contactos.html (ojo que en esta página tengo 2 formularios al mismo tiempo -los dos recolectan distintos datos-; ahora les muestro el segundo)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
</head>
<body>
........
<br />
<form name="form2" method="post" action="recibir.php" enctype="multipart/form-data">
<label> Adjunte documento a consultar: </label>
<br />
<input type="file" name="adjunto"/>
<br />
<label> Descripción de consulta de documento y datos de la Empresa: </label>
<br />
<textarea cols="60" rows="10" name="texto" wrap="soft"></textarea>
<br />
<input type="submit" name="Aceptar" value="Enviar" />
</form>
<br />
</body>
</html>
---------------------------------------------------------
se crea además tabla "documentos" con tres campos: id, ruta y texto
--------------------------------------------------------
Se crea un archivo llamado "adjuntos" que es donde deseo lleguen los archivos
------------------------------------------------------------------------
recibir.php
<?php
$conexion=mysql_connect('localhost','xxx','xxx') or die ('no hay conexión a la base de datos');
$db=mysql_select_db('base',$conexion) or die ('no existe la base de datos');
$rutaEnServidor='adjuntos';
$rutaTemporal=$_FILES['adjunto']['tmp_name'];
$nombreAdjunto=$_FILES['adjunto']['name'];
$rutaDestino=$rutaEnServidor.'/'.$nombreAdjunto;
move_uploaded_file($rutaTemporal,$rutaDestino);
$desc=$_POST['texto'];
$sql="INSERT INTO documentos (ruta,texto) values('".$rutaDestino."','".$desc."')";
$res=mysql_query($sql,$conexion);
if ($res){
echo 'inserción con éxito';
}else{
echo 'no se puede insertar';
}
?>
-----------------------------------------------
Luego de dar enviar me sale (los datos los ingresa a la tabla, pero el archico no sube al servidor):
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(C:\Windows\Temp\phpDF87.tmp) is not within the allowed path(s): (C:\xxxxx\xxxxx\midominio.com\midominio.com.pe\) in C:\xxxx\xxxx\midominio.com\midominio.com.pe\contactos\recibir.php on line 23
Warning: move_uploaded_file(C:\xxxxx\xxxxx\midominio.com\midominio.com.pe\contactos\adjuntos/buenosaires-flores-18.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\xxx\xxx\midominio.com\midominio.com.pe\contactos\recibir.php on line 23
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Windows\Temp\phpDF87.tmp' to 'C:\xxx\xxx\midominio.com\midominio.com.pe\contactos\adjuntos/buenosaires-flores-18.jpg' in C:\xxx\xxx\midominio.com\midominio.com.pe\contactos\recibir.php on line 23
inserción con éxito
-------------------------------------------------------------
ES DECIR LOGRO ENVIAR LOS DATOS A LA BASE DE DATO; PERO NO PUEDO MOVER EL ARCHIVO AL SERVIDOR
HE PROBADO COLOCANDO EN RUTA DESTINO DESDE "adjuntos", pasando por www.midominio.com/.../contactos/adjuntos/, hasta todas las posibilidades de directorios; LA VERDAD SOY NOVATO EN ESTO (sólo trato de copiar y entender lo que otros hacen). Haber si un programador o alguien más entendido me ayuda. Qué debo corregir.
Saludos
JoséMiguel
PD: mis archivos html, php, carpeta "adjuntos" se encuentra dentro una carpeta llamada "contactos".
Me base en:
subirImagen usando PHP y MySQL parte 1
http://www.youtube.com/watch?v=XK_tbkrPw0E&feature=relmfu
subirImagen usando PHP y MySQL parte 2
http://www.youtube.com/watch?v=Byp0WCuf96Y&NR=1&feature=endscreen
subirImagen usando PHP y MySQL parte 3
http://www.youtube.com/watch?v=5ekx6qpN2dk&NR=1&feature=endscreen