Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用PHP脚本从iPhone发布到Web服务器_Php_Iphone_Xcode_Networking_Nsurlconnection - Fatal编程技术网

Can';t使用PHP脚本从iPhone发布到Web服务器

Can';t使用PHP脚本从iPhone发布到Web服务器,php,iphone,xcode,networking,nsurlconnection,Php,Iphone,Xcode,Networking,Nsurlconnection,嗯,我对iphone和PHP开发都很陌生,我正试图在我的Web服务器上本地发布一个图像(我已经安装了Web服务器)。出于某种原因,我的PHP脚本正在执行,但文件没有保存 我确信这是这里最基本的问题,但我似乎找不到问题所在。非常感谢你们的帮助。谢谢 我的目标c代码: UIImageView *imageView = [[UIImageView alloc] init]; imageView.image = [UIImage imageNamed:@"13.png"]; NSData *image

嗯,我对iphone和PHP开发都很陌生,我正试图在我的Web服务器上本地发布一个图像(我已经安装了Web服务器)。出于某种原因,我的PHP脚本正在执行,但文件没有保存

我确信这是这里最基本的问题,但我似乎找不到问题所在。非常感谢你们的帮助。谢谢

我的目标c代码:

UIImageView *imageView = [[UIImageView alloc] init];
imageView.image = [UIImage imageNamed:@"13.png"];

NSData *imageData = UIImageJPEGRepresentation(imageView.image, 90);
NSString *urlString = @"http://localhost/uploader.php";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setTimeoutInterval:60.0];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

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

NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"userfile\";filename=\"myfile.jpg\"\r\n"] 
                  dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"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];
NSLog(@"%@",[[NSString alloc] initWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil] encoding:NSUTF8StringEncoding]);
我的PHP脚本:

<?php
$target = "./upload/";
$target = $target.basename( $_FILES['userfile']['name']) ;
$check = getimagesize($_FILES['userfile']['tmp_name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], './upload/')) {
    echo "YES";
}
 else
  echo "NO";

?> 

你的移动呼叫不正确。必须为目标指定文件名。您只提供了一个目录,因此调用失败。PHP不会为您创建文件名,您必须自己指定

if (move_uploaded_file($_FILES['userfile']['tmp_name'], './upload/name_of_file_to_write')) {
                                                                  ^^^^^^^^^^^^^^^^^^^^^

谢谢,马克,但我得到了同样的行为——“移动上传的文件”失败。我不确定我应该创建的文件名,但为了安全起见,我给它起了相同的名字,即:“./upload/myfile.jpg”,当然创建了一个。想法?确保您的Web服务器具有在该上载目录中创建/写入文件的权限。检查PHP错误日志,看看是否出现了任何问题。如果存在同名文件,请确保Web服务器可以覆盖该文件。对于这个愚蠢的问题,很抱歉-但是如何检查Web服务器是否具有正确的写入权限?非常感谢。
ls-ld从shell提示符上传
<代码>变量转储(stat('./上传'))来自php内部(请参阅)
if (move_uploaded_file($_FILES['userfile']['tmp_name'], './upload/name_of_file_to_write')) {
                                                                  ^^^^^^^^^^^^^^^^^^^^^