my $zip = Archive::Zip->new(); my $archive = "$upload_dir/$file"; die "can't read .zip" unless $zip->read($archive) == AZ_OK; my @members = $zip->memberNames; foreach my $member(@members) { my @member_parts = split(/\./,$member); my $file_id = int(rand(10000000)); my $newMemberName = "../fotos/$album/$file_id\."."$member_parts[1]"; my $db_name = "$file_id\."."$member_parts[1]"; $zip->extractMember($member, $newMemberName); my $sql_insert = "INSERT into fotos VALUES('','$db_name','')"; my $prepare_insert = $dbh->prepare( $sql_insert ) || die $dbh->errstr; $prepare_insert->execute() ; $dbh->disconnect(); unlink $member; } unlink $archive;