ASIHTTPRequest Загрузка файлов и PHP - PullRequest
0 голосов
/ 28 февраля 2010

Я использую следующий код (с ASIHTTPRequest), чтобы попытаться загрузить php-файлы с моего iPhone на сервер LAN MAMP, работающий на моем Macbook Pro. Кажется, моя цель -c и мой php совпадают, но файлы не загружаются.

КОД OBJECTIVE-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));
?>

Что здесь не так?

Спасибо,

Джеймс

Ответы [ 4 ]

1 голос
/ 22 ноября 2012

Xcode

[request setFile:path forKey:@"myfile"];

PHP

$uploaddir = '';
$uploadfile = $uploaddir.basename($_FILES['myfile']['name']);


move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile);
1 голос
/ 07 марта 2010

Имеет ли процесс Apache httpd права на запись в каталог uploads/? Попробуйте установить его на /tmp/ и посмотреть, работает ли это?

Я создал решение для резервного копирования AppSales-Mobile , используя небольшой скрипт php. Об этом писал здесь . PHP-скрипт, который я создал, выглядит как this . Фактический почтовый индекс можно посмотреть здесь в методе - (void) startUpload.

0 голосов
/ 09 апреля 2012

Я знаю, что этот ответ, вероятно, слишком поздно, чтобы помочь вам конкретно, но на случай, если другие люди столкнутся с такой же проблемой и просматривают этот пост, я нашел решение. У меня была именно эта проблема, и ни один из примеров, которые я мог найти, казалось, не содержал решения. Но это довольно просто, вы должны «начать» загрузку, так же, как вы делаете с загрузками.

Короче говоря, в конце кода цели-c вы добавили бы строку:

[request startSynchronous];
0 голосов
/ 07 марта 2010

Код выглядит нормально. Вы уверены, что конфигурация PHP вашего сервера принимает загрузки и что CSV находятся в пределах ограничения по размеру?

...