ASIHTTPRequest Dosya Yükleme ve PHP

4 Cevap php

Benim Macbook Pro üzerinde çalışan benim LAN MAMP sunucuya benim iPhone php dosya yüklemek için denemek için (ASIHTTPRequest ile) aşağıdaki kodu kullanıyorum. Benim nesnel-c ve benim php doğrultusunda gibi görünüyor, ama dosyalar karşıya değildir.

AMAÇ-C KOD

    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 KODU

 <?php
$target = "uploads/";
$target = $target . basename( $_FILES['file']['name']) ;
$ok=1;
(move_uploaded_file($_FILES['file']['tmp_name'], $target));
?>

Ne burada yanlış oluyor?

Teşekkürler,

James

4 Cevap

Apache süreci uploads/ dizine yazma ayrıcalıkları var mı? /tmp/ bunu ayarlamayı deneyin ve İşe yarayıp yaramadığını görmek?

I AppSales-Mobile küçük bir php komut dosyası kullanarak bir yedekleme çözümü yarattı. Bu konuda yazdı here. Ben oluşturulan php script this gibi görünüyor. Gerçek posta kodu yönteminde here izlenebilir - (void) startUpload.

Xcode

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

php

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


move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile);

Kod iyi görünüyor. Eğer CSV'ler boyutu sınırlaması dahilinde sunucunuzun PHP yapılandırması yüklenenler kabul edilir ve emin misiniz?

Ben bu yanıtı muhtemelen özellikle size yardım etmek için çok geç olduğunu biliyorum ama sadece durumda diğer insanların aynı sorun var ve bu yazı görmek, ben bir çözüm buldum. Ben bu sorunu tam ve ben çözümü dahil gibiydi bulabildiğim örneklerin hiçbiri sahip oldu. Ama bu indirme yaptığınız gibi, sizin yükleme "başlamak" zorunda, oldukça basit.

Kısacası, amaç-c kodunun sonunda, satır eklemek istiyorum:

[request startSynchronous];