オンライン リソースから PDF ファイルをダウンロードして保存しようとしています。ファイルのアップロードに関するクックブックの章を見て、自分で使用するためにテクニックを変更しようとしました。私はこれを機能させることができません。
コントローラーコード:
namespace Acme\DemoBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Acme\DemoBundle\Entity\Shipment;
class WelcomeController extends Controller
{
public function indexAction(Request $request)
{
echo $barcodeUrl = "http://www.website.com/somefile.pdf";
$Shipment = new Shipment();
$Shipment->setBarcodeUrl($barcodeUrl);
$em = $this->getDoctrine()->getEntityManager();
$em->persist($Shipment);
$em->flush();
// Saving The File:
$saveto = __DIR__.'/../../../../web/uploads/documents';
$ch = curl_init($barcodeUrl);
$fp = fopen($saveto,'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
return new Response('Created shipment and saved file");
}
protected function getUploadRootDir()
{
return __DIR__.'/../../../../web'.$this->getUploadDir();
}
protected function getUploadDir()
{
return 'uploads/documents';
}
}
上記のコードを実行するたびに。名前として言及したパスを持つファイルをWebフォルダーに保存します。ファイルが開かず、拡張子を付けても保存されません。
保存されたファイル: /../../../../web/home/webmuch/uploads
Web フォルダー内。