Hola a todos, hace días tube un problema, tengo un formulario en el cual se cargar varias imágenes, y se envían al servidor y a la base de datos. Pero no se enviaban todas, solo la que estaba en el primer input, pero logre solucionarlo.
Ahora mi problema, es que no se envían las url, de esas imágenes a la base de datos.
Mi código de operación es el siguiente: Código PHP:
function getExtension($str) {
$e = strrpos($str,".");
if (!$e) { return ""; }
$l = strlen($str) - $e;
$ext = substr($str,$e+1,$l);
return $ext;
}
function imp_menu()
{
return '
//for($a=0;$a<count($_FILES["image"]['tmp_name']);$a++) {
// Esta variable se utiliza como una bandera. El valor se inicializa con 0 (es decir, no hay error que se encuentran)
// y se cambia a 1 si un occures error.
// Si el error occures el archivo no se cargará.
$errors=0;
//Comprueba si el formulario ha sido enviado
$cont =count($_FILES["image"]['name']);
for ($j=0;$j<=$cont;$j++){
if(isset($_POST['Submit']))
{
//Leer el nombre del fichero
$image=$_FILES['image']['name'][$j];
$x=$j;
do{
$x++;
$archivonombre=str_replace("","n",$archivo_name);
$archivonombre=str_replace("","N",$archivonombre);
$archivonombre=str_replace("","a",$archivonombre);
$archivonombre=str_replace("","e",$archivonombre);
$archivonombre=str_replace("","i",$archivonombre);
$archivonombre=str_replace("","o",$archivonombre);
$archivonombre=str_replace("","u",$archivonombre);
$archivonombre=str_replace("","A",$archivonombre);
$archivonombre=str_replace("","A",$archivonombre);
$archivonombre=str_replace("","E",$archivonombre);
$archivonombre=str_replace("","E",$archivonombre);
$archivonombre=str_replace("","I",$archivonombre);
$archivonombre=str_replace("","I",$archivonombre);
$archivonombre=str_replace("","O",$archivonombre);
$archivonombre=str_replace("","O",$archivonombre);
$archivonombre=str_replace("","U",$archivonombre);
$archivonombre=str_replace("","U",$archivonombre);
$archivonombre=str_replace("","u",$archivonombre);
$archivonombre=str_replace("","U",$archivonombre);
$archivonombre=str_replace(" ","_",$archivonombre);
$archivonombre=str_replace("&","_",$archivonombre);
$archivonombre=str_replace("'","_",$archivonombre);
$archivonombre=str_replace("(","_",$archivonombre);
$archivonombre=str_replace(")","_",$archivonombre);
$archivonombre=str_replace("[","_",$archivonombre);
$archivonombre=str_replace("]","_",$archivonombre);
$archivonombre=str_replace("#","_",$archivonombre);
$archivonombre=str_replace("%","_",$archivonombre);
$ran=rand();
$dom=rand();
$random = $ran.$dom;
$imagename=$random.$archivonombre;
//Si no esta vacio
if ($image !="")
{
//Obtener el nombre original del fichero
$filename = stripslashes($_FILES['image']['name'][$j]);
//Obtener la extension del fichero
$extension = getExtension($filename);
$extension = strtolower($extension);
//Obtener la extension del fichero
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
//Obtener la extension del fichero
echo '<h1>Exstencion desconocida!</h1>';
$errors=1;
}
else
{
//Obtenemos el tmaño de la imagen en bytes
//$_FILES['image']['tmp_name'] temporal fichero
//El archivo se almacena en el servidor
$size=filesize($_FILES['image']['tmp_name'][$j]);
//Se compara el tamaño del fichero
if ($size > MAX_SIZE*5000)
{
echo '<h1>Te has excedido del limite!</h1>';
$errors=1;
}
//Daremos un nombre unico con extension
$image_name="$imagename.$extension";
//Donde se guardaran las imagenes
$newname="../images/".$image_name;
$dir_thumb = "../images/bolGallery/";
$destTHU= $newname.$dir_thumb;
//Se verifica si fue subida, e imprime errores
$copied = copy($_FILES['image']['tmp_name'][$j], $newname);
if (!$copied)
echo '<h1>La copia fue un exito!</h1>';
$errors=1;
}}}
}
while($x<$j); {
//Si no hubo errores, imprimo mensaje
if(isset($_POST['Submit']) && !$errors)
{
//
//Si la foto fue subida correctamente entonces procedo a aplicarle las etiquetas.
//
echo '<h1>Se ha subido el archivo con éxito! '.$newname.'. <br>
<ul style="list-style-type:none;">
<li class="button" style="float:left;"><a class="button" href="index.php"">Volver a la galeria</a></li>
<li class="button" style="float:left;"><a class="button" href="upload_img.php"">Insertar mas imagenes</a></li>
<li class="button" style="float:left;"><a class="button" href="admin.php"">Panel de usuario</a></li>
</ul>
<br><br>';
$url = $newname;
$test=$_POST['test'];
$newLabel=$_POST['newLabel'];
if (($test || $newLabel) && $url){
//Verifico que el archivo que acabo de insertar exista.
if(file_exists($url))
{
mysql_query("insert into photos values ('','".$url."','0')");
$result = mysql_query("select id from photos where url='".$url."'");
$row = mysql_fetch_row($result);
$photo_id = $row[0];
//Si selecciono alguna etiqueta de las de la lista
if($test)
{
echo "<br> Las siguientes etiquetas fueron agregadas: <br>";
foreach ($test as $t)
{
echo $t." <br>";
$result = mysql_query("select id from labels where label='".$t."'");
$row = mysql_fetch_row($result);
$label_id = $row[0];
mysql_query("insert into label_photo values ('".$label_id."','".$photo_id."')");
}
}
//Si decidio insertar nuevas etiquetas
if($newLabel)
{
echo " Las siguientes etiquetas fueron agregadas: <br>";
$etis = explode(",",$newLabel);
//Acabo de picar todas las etiquetas nuevas introducidas con la funcion explode
//ahora procedo a insertarlas en la BD y aplicarselas a la fotografia.
for($i = 0;$i<count($etis);$i++)
{
echo $etis[$i]." <br>";
mysql_query("insert into labels values ('','".$etis[$i]."')");
$result = mysql_query("select id from labels where label='".$etis[$i]."'");
$row = mysql_fetch_row($result);
$label_id = $row[0];
mysql_query("insert into label_photo values ('".$label_id."','".$photo_id."')");
}
}
}
else
{
echo'El archivo no existe: '.$url;
}
}
}}}}
?>
Gracias de antemano, cualquier recomendación o sugerencia, se agradece.
Saludos