我正在使用以下代码(使用ASIHTTPRequest)尝试将php文件从我的iPhone上传到我的Macbook Pro上运行的LAN MAMP服务器。我的目标-c和我的php似乎排成一行,但文件没有上传。
目标-C代码
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
[path stringByAppendingPathComponent:[pieces objectAtIndex:indexPath.row]];
NSURL *url = [NSURL URLWithString:@"http://192.168.1.102:8888/upload.php"];
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setFile:path forKey:@"file"];
PHP代码
<?php
$target = "uploads/";
$target = $target . basename( $_FILES['file']['name']) ;
$ok=1;
(move_uploaded_file($_FILES['file']['tmp_name'], $target));
?>
这里出了什么问题?
谢谢,
詹姆斯
答案 0 :(得分:1)
Apache httpd进程是否具有在uploads/
目录中写入的权限?尝试将其设置为/tmp/
并查看是否有效?
我使用一个小的PHP脚本为AppSales-Mobile创建了一个备份解决方案。写了here。我创建的php脚本看起来像this。可以在方法- (void) startUpload
中查看实际的邮政编码here。
答案 1 :(得分:1)
<强>的Xcode 强>
[request setFile:path forKey:@"myfile"];
<强> PHP 强>
$uploaddir = '';
$uploadfile = $uploaddir.basename($_FILES['myfile']['name']);
move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile);
答案 2 :(得分:0)
代码看起来很好。您确定您的服务器的PHP配置是否接受上传,并且CSV是否在大小限制范围内?
答案 3 :(得分:0)
我知道这个回复可能为时已晚,无法帮助您,但为了防止其他人遇到同样的问题并查看此帖,我找到了解决方案。我遇到了这个问题,我找不到的例子似乎都没有包含解决方案。但这很简单,你必须“开始”上传,就像你下载一样。
简而言之,在您的objective-c代码的末尾,您将添加以下行:
[request startSynchronous];