Fotó feltöltés szerverre és adat letárolása mysql táblában !

XCode AppleFolytassuk a PhP kapcsolati dolgokat azzal, hogy fotót töltünk fel a szerverre és ott mysql táblában letároljuk a fotó url-t!
Remélem mindenkinek megy a fotó kiválasztás mappából vagy fényképező részből így azt nem írom le, de ha valaki már itt elakad akkor jelezze és javítom majd a leírást !
Amire szükségünk lesz az a UIImageView ahol megjelenítjük a kiválasztott fotót és egy gomb amivel elküldjük a szerver felé az adatot amikor már kiválasztottuk a fotónkat!
iOS Simulator Screen shot 2014.04.12. 20.34.20
@property (weak, nonatomic) IBOutlet UIImageView *fotofeltoltes; eddig gondolom minden tiszta !!

Vagy egy void vagy gomb ahogy nektek kényelmes a dolog úgy hívjátok meg !!

NSData *imageData = UIImageJPEGRepresentation(self.fotofeltoltes); // itt lehet játszani hogy előtte a fotó méretét korlátozzuk ha valaki igényli ezt is megmutatom majd!

#define feltolthossz @”http://localhost/fotofel.php”
NSString *urlString = [NSString stringWithFormat:feltolthossz];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString ]];
[request setHTTPMethod:@”POST”];

NSString *boundary = @”—————————14737809831466499882746641449″;
NSString *contentType = [NSString stringWithFormat:@”multipart/form-data; boundary=%@”,boundary];
[request addValue:contentType forHTTPHeaderField: @”Content-Type”];

//létrehozunk a fotónak dátum nevet a random végződést kap így kicsi az esélye hogy azonos néven lesz letárolva !
NSDate *ma = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@”YYYY-M-dd_hh:mm”];
NSString *dateString = [dateFormat stringFromDate:ma];

int r = arc4random() % 200;
dateString = [dateString stringByAppendingString:[NSString stringWithFormat:@”_%d”, r]];
dateString = [dateString stringByAppendingString:@”.png”];

NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@”\r\n–%@\r\n”,boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@”Content-Disposition: form-data; name=\”userfile\”; filename=%@\r\n”,dateString] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@”Content-Type: application/octet-stream\r\n\r\n” dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@”\r\n–%@–\r\n”,boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];

NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES];

Most tehát van egy fotó feltöltésünk ,kell hozzá egy php-is ami feltölti és letárolja egyszer a fájlt és a mysql táblába az elérési útvonalat amire már lehet hivatkozni az App-en belül !

PhP:

if (!empty($_FILES[‘userfile’][name]))
{
$target_path = “./fotofeltoltesek/”; //ebbe a mappába kerül a fotó
$uploadFile = basename($_FILES[‘userfile’][‘name’]);
$newName = $target_path . $uploadFile;
$newName_url = “http:/localhost/fotofeltoltesek/”. $uploadFile; //mysql táblába ez az url fog megjelenni a fotó ( dátum+random szám elé)

if(move_uploaded_file($_FILES[‘userfile’][‘tmp_name’], $newName)) {

$query = “INSERT INTO Gyakorlas (foto) VALUES (‘$newName_url’)”;

mysql_query($query);
mysql_close();
}
else {
echo “Probléma a feltöltéskor, próbáld újra!”;
}

Reklámok

Hozzászólás

Kategória: Források

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Google kép

Hozzászólhat a Google felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s