Php 将录制的音频从iOS应用程序保存到mySQL数据库
我正在做一个项目,通过PHP和AFNetworking将数据从iOS应用程序上传到mySQL数据库。我有一些代码,可以成功地录制音频文件并将其保存到服务器上的文件夹中,并将相对路径保存到数据库中。作为测试,我从保存它们的文件夹中下载它们,并可以在我的计算机上播放它们,但是当我尝试在工作应用程序中播放声音时,它根本不会播放。我也尝试过将文件保存为不同的音频格式,但我不知道问题出在哪里。我不确定这是否与我的代码有关。以下是我的PHP代码:Php 将录制的音频从iOS应用程序保存到mySQL数据库,php,ios,mysql,audio,Php,Ios,Mysql,Audio,我正在做一个项目,通过PHP和AFNetworking将数据从iOS应用程序上传到mySQL数据库。我有一些代码,可以成功地录制音频文件并将其保存到服务器上的文件夹中,并将相对路径保存到数据库中。作为测试,我从保存它们的文件夹中下载它们,并可以在我的计算机上播放它们,但是当我尝试在工作应用程序中播放声音时,它根本不会播放。我也尝试过将文件保存为不同的音频格式,但我不知道问题出在哪里。我不确定这是否与我的代码有关。以下是我的PHP代码: if ((($_FILES["audio"]["type"]
if ((($_FILES["audio"]["type"] == "audio/mp3")
|| ($_FILES["audio"]["type"] == "audio/mp4")
|| ($_FILES["audio"]["type"] == "audio/m4a")
|| ($_FILES["audio"]["type"] == "audio/wav")
|| ($_FILES["audio"]["type"] == "audio/caf")
|| ($_FILES["audio"]["type"] == "audio/mpeg3")
|| ($_FILES["audio"]["type"] == "audio/mpeg"))
&& ($_FILES["audio"]["size"] < 1000000))
{
if ($_FILES["audio"]["error"] > 0)
{
echo "Return Code: " . $_FILES["audio"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["audio"]["name"] . "<br />";
echo "Type: " . $_FILES["audio"]["type"] . "<br />";
echo "Size: " . ($_FILES["audio"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["audio"]["tmp_name"] . "<br />";
if (file_exists("audio/" . $_FILES["audio"]["name"]))
{
echo $_FILES["audio"]["name"] . " already exists. ";
}
else
{
$audio_name = $_FILES["audio"]["name"];
$audio_path = "audio/$audio_name";
move_uploaded_file($_FILES["audio"]["tmp_name"], $audio_path);
$sql = "INSERT INTO audiotable (audiopath)
VALUES ('$audio_path')";
$result = mysql_query($sql);
if($result)
{
echo 'Upload successfully';
}
else
{
echo 'ERROR: Upload Failed';
}
}
}
}
else
{
echo "Invalid file";
}
这是上传代码:
NSData *data = [NSData dataWithContentsOfURL:recorder.url];
int randomAudio = arc4random() % 9999999;
NSString *audioName=[NSString stringWithFormat:@"%d-audio.caf",randomAudio];
[manager POST:@"http://mywebsite.com/upload.php" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:audioData name:@"audio" fileName:audioName mimeType:@"audio/caf"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
NSData*data=[NSData dataWithContentsOfURL:recorder.url];
int randomAudio=arc4random()%999999;
NSString*audioName=[NSString stringWithFormat:@“%d-audio.caf”,randomAudio];
[经理职务:@”http://mywebsite.com/upload.php“参数:参数constructingBodyWithBlock:^(id formData){
[formData appendPartWithFileData:audioData名称:@“audio”文件名:audioName mimeType:@“audio/caf”];
}成功:^(AFHTTPRequestOperation*操作,id响应对象){
NSLog(@“成功:%@”,响应对象);
}失败:^(AFHTTPRequestOperation*操作,NSError*错误){
NSLog(@“错误:%@”,错误);
}];
}
请让我知道如果你有任何建议或如果你知道问题是什么,因为我没有线索。提前谢谢 结果证明我的代码不是问题所在,它工作得非常好!所以请随意使用它。结果我的问题不同了。 见此帖:
事实证明我的代码不是问题所在,它工作得非常好!所以请随意使用它。结果我的问题不同了。 见此帖:
NSData *data = [NSData dataWithContentsOfURL:recorder.url];
int randomAudio = arc4random() % 9999999;
NSString *audioName=[NSString stringWithFormat:@"%d-audio.caf",randomAudio];
[manager POST:@"http://mywebsite.com/upload.php" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:audioData name:@"audio" fileName:audioName mimeType:@"audio/caf"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}