Hola!
En realidad estoy bastante apurado, pero en este foro he recibido valiosa ayuda antes. No es una respuesta concreta a tu caso, pero como ya está funcionando, revisa y ves que debes editar ok?
Que hace?
* Sube todas las imagenes que quieras (en página que redirecciona a esta deberás poner cuantos files desees)
* limitando el tamaño de archivo; da mensaje de error si supera los kb--->
* verifica que cada file upload sean imágenes; si no son imagenes las borra.
* Asigno un nombre diferente al original usando un código aleatorio (El componente trae una opción para esto, pero me enteré después!)
* redimensiona a dos tamaños diferentes, manteniendo proporciones
* estampa un logo (logo.png en el servidor)
* borra la imagen original de tamaño grande
* agrega cada registro a una Base Access
* luego redirecciona a una página de salida.
Si no estás ducho, mañana puedo ayudarte mejor....
Saludos!
Código PHP:
<%Response.CharSet = "utf-8" %>
<% Server.ScriptTimeout = 1800 %>
<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.IgnoreNoPost = true
set oConexion=server.createobject ("ADODB.CONNECTION")
oConexion.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("../bbdd/galeria.mdb")
Const adOpenKeyset = 1
Const adLockOptimistic = 3
inicio de carga en automotores
set rscd=createobject("ADODB.Recordset")
rscd.CursorType = adOpenKeyset
rscd.LockType = adLockOptimistic
sqltxt1=" SELECT * FROM fotogaleria"
rscd.Open sqltxt1, oConexion
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Upload.OverwriteFiles = False
Upload.ProgressID = Request.QueryString("PID")
Upload.SetMaxSize 15728640, False
On Error Resume Next
n = Upload.Save(Server.MapPath ("../galeria2009/"))
If Err.Number = 8 Then
Response.Write "No permitido. Sus imágenes deben pesar 2 MB como máximo."
ErrorNum = Err.Number
Descr = Err.Description
If ErrorNum <> 0 Then
Response.Write "<B>Ha ocurrido un error: <FONT COLOR=""#FF0000"">" & Descr & "</FONT></B>Contacte al webmaster a la brevedad posible: Enrique Ogalde Cel.: (02965) 15393307"
response.end
end if
end if
randomize()
largo = 3
For contador = 1 to largo
numero = Int(26 * Rnd + 97)
letra = Chr(numero)
codigo = codigo & letra
next
idfamilia = upload.form("idfamilia")
idSUBfamilia = upload.form("idSUBfamilia")
nombrefamilia = upload.form("nombrefamilia")
nombreSUBfamilia = upload.form("nombreSUBfamilia")
For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
File.Delete
end if
i1 = ""&codigo&"_" & File.FileName
Jpeg.Open File.Path
L = 500
if Jpeg.OriginalWidth > Jpeg.OriginalHeight then
Jpeg.Width = L
Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
x = Jpeg.Width - 90
y = Jpeg.Height - 90
else
Jpeg.Height = L
Jpeg.Width = Jpeg.OriginalWidth * L / Jpeg.OriginalHeight
x = Jpeg.Width - 95
y = Jpeg.Height - 95
end if
Jpeg.ToRGB
Set Jpeg2 = Server.CreateObject("Persits.Jpeg")
Jpeg2.Open Server.MapPath("logo.png")
Jpeg.Canvas.DrawImage x, y, Jpeg2, 0.6 , &Hffffff, 2
Jpeg.Save Server.MapPath("../Galeria2009/") & "\Gr_"&codigo&"_" & File.FileName
File.Delete
L = 150
if Jpeg.OriginalWidth > Jpeg.OriginalHeight then
Jpeg.Width = L
Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
else
Jpeg.Height = L
Jpeg.Width = Jpeg.OriginalWidth * L / Jpeg.OriginalHeight
end if
Jpeg.Save Server.MapPath("../Galeria2009/") & "\CH_"&codigo&"_" & File.FileName
File.Delete
rscd.Addnew
rscd("familia") = idfamilia
rscd("SUBfamilia") = idSUBfamilia
rscd("NombreFotoChica")= "CH_"&i1&""
rscd("NombreFotoGrande")= "Gr_"&i1&""
rscd("descripcionfoto")= descripcion
rscd("numerovisitas")= 1
next
rscd.Update
rscd.close
Set rscd = Nothing
Set oConexion = Nothing
oConexion = close
response.Redirect("OtraPaginademisitio"%>
Ojalá te sirva de ayuda!