php - 将图片从 iOS 应用程序发送到 php 脚本到 mySQL DB

标签 php mysql ios objective-c database

我有一个问题:我想将一张图片从我的 iOS 应用程序发送到 php 脚本,以将该图像插入到 mysql 数据库中。 mysql 数据库中图像的字段是 LONGBLOB。发送的图像是 _photoImageView.image 我在Xcode中创建的方法如下:

NSData *dataForImage = UIImagePNGRepresentation(_photoImageView.image);


    NSMutableString *strURL = [NSMutableString stringWithFormat:@"http://localhost/myfff/join.php?username=%@&password=%@&photo=%@",_txtUsername.text,_txtPassword.text, dataForImage];
[strURL setString:[strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:strURL]];
[request setHTTPMethod:@"POST"];
postConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

在受影响部分的 php 脚本中,我这样做:

$data = addslashes(fread(fopen($_FILES[photo], "rb"))); $query = "INSERT INTO mytb VALUES (' ','$username','$password'','$data')";

插入没有发生..我哪里错了?请帮助我!

最佳答案

如果您在 php 脚本上获取其他发布的数据,即用户名和密码,那么问题是您将无法在 $_FILES 数组中获取数据,因为您共享的 Xcode 不会将数据上传为表单(multipart/form-data)而不是发布数据(我相信),所以我认为您将在 $_POST['photo'] 中获取原始图像数据,查询应该是:

$data = $_POST['照片'];

$query = "INSERT INTO mytb VALUES (' ','$username','$password'','$data')";

即使您在$_FILES中获取照片,那么您仍然使用错误的东西fread它应该是:

$data = addslashes(fread(fopen($_FILES['photo']['tmp_name'], "rb")));

关于php - 将图片从 iOS 应用程序发送到 php 脚本到 mySQL DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569306/

相关文章:

php - 选择 MySQL If (ID) 在数组中

css - 如何避免iOS自动调整字体大小?

PHP - 使用 $_SERVER ['DOCUMENT_ROOT' ] 有任何问题吗?每个需要包含另一个文件的页面上的 "pathname"?

php - 使用 php 将 CSV 上传到数据库

php - 仅更新 ON DUPLICATE KEY UPDATE 的更改值

mysql - 如何运行 mySQL 函数来更新所有行?

ios - 传输安全已阻止明文 HTTP

IOS UI 测试 - 等待网络调用

php - ElasticSearch PHP - 获取类型/索引中 10 个(最新)项目的列表

php - Flash AS3图像处理和保存应用程序的技术要求