PHP와 Objective-C를 처음 접했으므로이 답변을 검색했지만 모든 것이 복잡해 보였습니다. 이해할 수 없었습니다. PHP를 사용하여 이미지 파일을 내 ftp 서버에 업로드하려고합니다.PHP - 스트림을 열지 못했습니다 :
이<?php
$file = basename($_FILES['userfile']['name']);
$remote_file = basename($_FILES['userfile']['name']);
//$remote_file = 'readme.txt';
// set up basic connection
$ftp_server = "www.myurl.net";
$ftp_user_name = "myusername";
$ftp_user_pass = "mypassword";
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection
ftp_close($conn_id);
?>
내 응용 프로그램에서 얻을 반환 문자열은 다음과 같습니다
다음UIImage *myImage = [UIImage imageNamed:@"black_strip.png"];
NSData *imageData = UIImagePNGRepresentation(myImage);
// setting up the URL to post to
NSString *urlString = @"http://www.myurl.net/GagVidApp/uploadProfImage.php";
// setting up the request object now
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
/*
now lets create the body of the post
*/
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\"ipodfile.png\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"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]];
// setting the body of the post to the reqeust
[request setHTTPBody:body];
// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"returnString: %@", returnString);
내 PHP 코드 :
나는 이미지 업로드 내 응용 프로그램에서이 코드를 사용 :
returnString: Connected to www.myurl.net, for user myuser<br />
<b>Warning</b>: ftp_put(ipodfile.png) [<a href='function.ftp-put'>function.ftp-put</a>]: **failed to open stream: No such file or directory in** <b>/home/load2unet/domains/myurl.net/public_html/GagVidApp/uploadProfImage.php</b> on line <b>24</b><br />
There was a problem while uploading ipodfile.png
나는 답을 찾으려고 노력했지만 행운이 없다. 어떤 도움이라도 대단히 감사하게 될 것입니다! 감사합니다
어떻게하면됩니까? 예제 코드를 좀 주시겠습니까? – tnylee
시도하지는 않았지만, 대부분 ftp_put ($ connid, $ remote_file, $ _FILES [ 'userfile'] [ 'tmp_name'], FTP_ASCII)'이 효과적입니다. –