Я использую PHP/Silex для создания API. Весь мой код работы Зависит одна дорога ... Вот мой index.php моего кода API, где У меня есть проблема:Я пытаюсь загрузить файл, API Silex
require_once __DIR__.'/../vendor/autoload.php';
header("Access-Control-Allow-Origin: *");
$app = new Silex\Application();
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\File\UploadedFile;
$app->post('/upload', function (Request $request) use ($app)
{
$file = $request->files->get('upload');
if ($file == NULL)
{
$send = json_encode(array("status" => "Fail"));
return $app->json($send, 500);
}
else
{
$file->move(__DIR__.'/../files', $file->getClientOriginalName());
$send = json_encode(array("status" => "Ok"));
return $app->json($send, 200);
}
});
$app->run();
Когда я закомментировать эту строку $file->move(__DIR__.'/../files', $file->getClientOriginalName());
возвращаемый статус программы, но если Я пропустил эту линию. У меня есть text/html
в ответ, где мы можем прочитать,
..Whoops, looks like something went wrong
FileException in File.php line 134:
Unable to create the "/var/www/api-picShary/web/../files" directory
in File.php line 134
at File->getTargetFile('/var/www/api-picShary/web/../files', 'awesome.png') in UploadedFile.php line 239
at UploadedFile->move('/var/www/api-picShary/web/../files', 'awesome.png') in index.php line 79
at {closure}(object(Request))
at call_user_func_array(object(Closure), array(object(Request))) in HttpKernel.php line 145
at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 66
at HttpKernel->handle(object(Request), '1', true) in Application.php line 543
at Application->handle(object(Request)) in Application.php line 520
в APPLICATION-> Run() в index.php линии 86 ...
Я использую форму, чтобы отправить мой файл:
< form action="" method="post" enctype="multipart/form-data">
< input type="file" name="upload">
< input type="submit">
< /form>
ли вы убедитесь, что пользователь веб-сервер может написать в каталог файлов? Вы также можете попробовать включить режим отладки ('' '$ app ['debug'] = true;' ''), и у вас появится лучшее сообщение об ошибке. – mTorres
@mTorres Да, он может (chmod 777 быть уверенным и chown www-data), а режим отладки включен, но ничего не изменилось ... –
@mTorres edit: я перезапускаю свой сервер и $ app ['debug'] работа –