Conecta
Nido Apple
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
como Subir imágenes a mi base de datos con PHP?
- preguntó
- Desarrolladores Apple
- 765 Vistas
- 8 Respuestas
- abierta
Alguien tiene alguna tutorial para poder subir las imágenes a mi servidor... y si también como comprimirlas estaría genial... gracias buen día...
8 Respuestas
Ok Creo que mi pregunta concreta es... como comprimir una foto tomada desde mi iPad y como subirla a mi base de datos MySQL con PHP
Por favor, accede o regístrate para añadir un comentario.
¿Pero te refieres a una aplicación para iOS que estas haciendo? ¿A un script PHP? ¿A una web en donde se suben fotos? ¿O como?
Saludos.
Por favor, accede o regístrate para añadir un comentario.
tengo ya hecho un PHP en donde recibo los parámetros desde mi iphone y ya los almacena en mi base de datos en los campos necesarios, mi problema radica en enviar una foto tomada desde el iphone o ipad, traducción ya tengo mi método para tomar y almacenar la foto en el iPhone, digamos que lo único que me falta es comprimir la imagen o codificarla para poder enviarla, ya que al enviarla a mi php no llega de forma adecuada y no puedo ni siquiera visualizarla... ademas por ejemplo ya visualizo correctamente alguna imagen que esta en mi base de datos, por que esta en BASE64... ósea que si pudiera enviar mi imagen desde el iphone en Base64 estaría perfecto
Por favor, accede o regístrate para añadir un comentario.
- El problema es que la duda es demasiado genérica y no se conoce nada de como haces todo el proceso y código que utilizas.
- Ya tienes un PHP en donde recibes todo desde el iPhone. Habría que revisarlo entero.
- Ya almacena los datos. Habría que ver como guarda todo la base de datos o archivos que utilices.
- El problema esta en enviar una foto tomada desde el iPhone. pero que tienes hecho, cual es el error, que te hace falta, como funciona, como lo integras, etc... Habría que revisar tu aplicación para ver como estas implementando todo.
Como codificarla y comprimirla creo que es el lo que menos importa, porque solo tienes que subir la misma fotografía que toma el iPhone y si la envía y la recibes, ya tienes realizada la mayor parte del trabajo. Aunque también habría que revisar como se hace todo esto.
- No llega de forma adecuada y no puedes visualizarla. Habría que saber como llega, que error te da, como llega y porque no puedes visualizarla. Para esto habría que revisar todo tu código PHP y toda tu app para ver como haces el llamado de esa foto que no ves.
Basicamente es eso, que habría que revisar todo por completo para ver como realizar todas las cosas. Sería más sencillo solucionar problemas concretos y por partes, porque así todo completo es muy complicado sin tener acceso a todo tu código.
Saludos.
Por favor, accede o regístrate para añadir un comentario.
Respondiendo en orden.
- ya tengo donde recibo y almaceno todo mi php esta configurado de tal manera que recibe texto... es algo así...
[PHP]////////////////////////////////////Codigo PHP
mysql_connect( $db_host, $db_usuario, $db_password);
mysql_select_db($db_nombre);
mysql_set_charset('utf8');
$Nombre = addslashes($_REQUEST['V_Nombre']);
$APaterno = addslashes($_REQUEST['V_APaterno']);
$AMaterno = addslashes($_REQUEST['V_AMaterno']);
$Calle = addslashes($_REQUEST['V_Calle']);
$Numero = addslashes($_REQUEST['V_Numero']);
$Foto = addslashes($_REQUEST['V_Foto']);
$Asunto = addslashes($_REQUEST['V_Asunto']);
$Placas = addslashes ($_REQUEST ['V_Placas']);
$today = date('YmdHis');
$startDate = date('YmdHis', time());
$rand = rand(0, 1024);
$clave = $rand . $startDate . $Usuario;
mysql_query("INSERT INTO TB_Visitantes (V_Nombre, V_APaterno, V_AMaterno, V_Calle, V_Numero, V_Foto, V_Asunto, V_Placas) VALUES (
'".$Nombre."',
'".$APaterno."',
'".$AMaterno."',
'".$Calle."',
'".$Numero."',
'".$Foto."',
'".$Asunto."',
'".$Placas."'
)");
$resultado = array(
"ValidationMessage" => "Exito");
echo json_encode($resultado)
?>
/////////////////////////////////////////////PHP Fin[/PHP]
- Todos los datos que campos que manejo están en formato VARCHAR, excepto Foto ya que esa la tengo en longblob... si subo manualmente una imagen a ese campo la convierte a Base64... entonces para visualizarla ya tengo el código en el código de mi app que convierte el Base64 a imagen.
- mi código para tomar la foto es el siguiente
[PHP]//CODIGO PARA TOMAR FOTO
// Recibe el mensaje cuando el controlador a finalizado
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Quita la vista del controlador
[picker dismissModalViewControllerAnimated:YES];
// Establece la imagen tomada en el objeto UIImageView
_image.image = [info objectForKey:mad:"UIImagePickerControllerOriginalImage"];
}
//CODIGO PARA TOMAR FOTO[/PHP]
después en mi metodo de envío... yo envio parámetros a partir de los valores que recibo como nombre apellido etc...
[PHP]NSDictionary *parametros = @{@"V_Nombre": _nombre.text,
@"V_APaterno":_aPaterno.text,
@"V_AMaterno": _aMaterno.text,
@"V_Calle": _calle.text,
@"V_Numero": _numero.text,
@"V_Foto": @"",
@"V_Asunto": _asunto.text
};[/PHP]
mi problema es precisamente ese no se como subir o como asignar el parámetro para enviarlo a mi PHP...
Creo que la forma mas adecuada de hacer lo que yo quiero es generarle una URL a la imagen y guardarla en mi base de datos, de esa forma mis tablas de MySQL no pesaran tanto y la descarga de imagenes estará en otro hilo, si me pueden ayudar con eso les debo la vida
espero con esto puedan ayudarme ya que me estoy dando de topes en la cabeza por que no puedo hacerlo de forma adecuada, las imágenes que subo directamente a mi servidor son muy pesadas y hace que todo mi sistema truene por eso quiero comprimirlas o hacerlas mas pequeñas...
de ante mano muchas gracias y excelentes fiestas
Por favor, accede o regístrate para añadir un comentario.
Si necesitas enviar datos de ints, floats, strings, etc... puedes hacerlo así: (Enviamos nombre y apellido)
[PHP]NSString*sendData =@"nombre=";
sendData =[sendData stringByAppendingString:[NSString stringWithFormat:@"%@", nombre]];
sendData =[sendData stringByAppendingString:@"&apellido="];
sendData =[sendData stringByAppendingString:[NSString stringWithFormat:@"%@", apellido]];
NSMutableURLRequest*request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.ejemplo.com/usuario"]];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
//Aquí envias los datos
[request setHTTPBody:[sendData dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPMethod:@"POST"];NSError*error =nil;NSURLResponse*response =nil;NSData*data =[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(error){NSLog(@"Error");}else{
//La respuesta está en los datos
}[/PHP]
En PHP regresas un array con json_encode y después usas NSDictionary para leerlo en iOS.
A ver si eso te ayuda un poco en lo que intentas.
Saludos.
Por favor, accede o regístrate para añadir un comentario.
agradezco la respuesta y si eso ya lo tengo hecho... ahora ya tengo mi código y todo hecho incluso ya guardo la imagen en mi servidor, en una carpeta de mi servidor con un tamaño muy aceptable. ahora mi duda y creo que es la principal... para subir por ejemplo el registro que tengo utilizo 2 servicios diferentes lo que quisiera saber si me pueden ayudar es como juntar esos 2 servicios y poner en un campo de mi base mi tabla la url de la imagen te muestro mis códigos
el codigo del primer servicio es para registrar los datos de mi usuario:
[PHP]////////////////////////////////////Codigo PHP
mysql_connect( $db_host, $db_usuario, $db_password);mysql_select_db($db_nombre);mysql_set_charset('utf8');$Nombre = addslashes($_REQUEST['V_Nombre']);$APaterno = addslashes($_REQUEST['V_APaterno']);$AMaterno = addslashes($_REQUEST['V_AMaterno']);$Calle = addslashes($_REQUEST['V_Calle']);$Numero = addslashes($_REQUEST['V_Numero']);$Foto = addslashes($_REQUEST['V_Foto']);$Asunto = addslashes($_REQUEST['V_Asunto']);$Placas = addslashes ($_REQUEST ['V_Placas']);$today = date('YmdHis');$startDate = date('YmdHis', time());$rand = rand(0, 1024);$clave = $rand . $startDate . $Usuario;mysql_query("INSERT INTO TB_Visitantes (V_Nombre, V_APaterno, V_AMaterno, V_Calle, V_Numero, V_Foto, V_Asunto, V_Placas) VALUES (
'".$Nombre."',
'".$APaterno."',
'".$AMaterno."',
'".$Calle."',
'".$Numero."',
'".$Foto."',
'".$Asunto."',
'".$Placas."'
)");$resultado = array("ValidationMessage" => "Exito");
echo json_encode($resultado)?>
/////////////////////////////////////////////PHP Fin[/PHP]
y el registro de imagen
[PHP]/////////////////////////////////////////////CODIGO PHP
<?php
$uploaddir = './'; //Uploading to same directory as PHP file
$file = basename($_FILES['userfile']['name']);
$uploadFile = $file;
$randomNumber = rand(0, 99999);
$newName = $uploadDir . $randomNumber . $uploadFile;
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "Temp file uploaded. \r\n";
} else {
echo "Temp file not uploaded. \r\n";
}
if ($_FILES['userfile']['size']> 4000000) {
exit("Your file is too large.");
}
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $newName)) {
$postsize = ini_get('post_max_size'); //Not necessary, I was using these
$canupload = ini_get('file_uploads'); //server variables to see what was
$tempdir = ini_get('upload_tmp_dir'); //going wrong.
$maxsize = ini_get('upload_max_filesize');
echo "http://example.net/imagen/{$file}" . "\r\n" . $_FILES['userfile']['size'] . "\r\n" . $_FILES['userfile']['type'] ;
}
?>
/////////////////////////////////////////////CODIGO PHP[/PHP]
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 703681
- 1
- Ago 31, 2017
Otras Preguntas y Respuestas
- entre Desarrolladores (Desarrolladores)
Respuestas WordPress (Usuarios WordPress)
Sin Respuesta
-
- 573
- 0
- Jun 16
-
- 777
- 0
- May 8
-
- 791
- 0
- Feb 23
-
- 753
- 0
- Dic 7, 2023
-
- 327
- 0
- Nov 30, 2023
-
- 759
- 0
- Jul 7, 2023
-
- 875
- 0
- Ago 4, 2022
-
- 1034
- 0
- Feb 25, 2022
- ver todas
Preguntas relacionadas
Actividad Reciente
Peter comentó hace 6 días
No veo las carpetas de Aplicaciones y Descargas en…Itavi respondió Nov 5
No veo las carpetas de Aplicaciones y Descargas en…DaleGarrote comentó Nov 5
IA ese perfecto desconocidoPeter comentó Nov 5
Comando de voz para desplazarse un número variable…Peter respondió Nov 5
No veo las carpetas de Aplicaciones y Descargas en…
Ultimas Respuestas
Peter respondió
Supongo que te refieres a tenerlas en el Dock, por
0Peter respondió
Efectivamente hay cientos o miles de cosas sobre I
1DJUNQUERA respondió
La versión de MacOS Sonoma habilita un comando de
1Peter respondió
Creo que lo mas sencillo es que te pagas en contac
1Peter respondió
Me parece que es un problema de RAM y va a depende
1mozzer respondió
0Peter respondió
Si es por el sistema, ya que requieres macOS Ventu
1Ultimos Comentarios
DaleGarrote comentó
Preguntas relacionadas
...