ربط ملف (على سبيل المثالPDF) داخل عرض للكيك

StackOverflow https://stackoverflow.com/questions/233643

  •  04-07-2019
  •  | 
  •  

سؤال

أود أن ارتباط بعض ملفات Pdf في واحدة من بلدي تحكم وجهات النظر.ما هي أفضل الممارسات لتحقيق هذا ؟ على للكيك webroot المجلد يحتوي على ./ملفات/ مجلد فرعي ، وأنا مرتبك من خلال محاولة ربط ذلك دون استخدام "السحر" pathnames في بلدي href (مثلا ، "/path/to/بلدي/الجاسوس/files/myfile.pdf").

ما هي الخيارات المتاحة ؟

تحرير: لم تصف على نحو كاف سؤالي.لقد كان يحاول رابط الملفات في /التطبيق/الجاسوس/files/ في منصة الملحد (ie.لا mod_rewrite) طريقة.

لقد عملت هذه المشكلة عن طريق تخزين هذه الملفات خارج للكيك بنية الدليل.

هل كانت مفيدة؟

المحلول

$html->link('Pdf', '/files/myfile.pdf');

نصائح أخرى

هذا هو إلى حد ما عرضية ، ولكن من أجل الوصول إلى مثل هذا الموقع في النماذج وغيرها من الأماكن التي يمكنك ببساطة القيام بذلك:

$file = WWW_ROOT . DS . 'files' . DS;

هذا التكتيك قد يكون من المفيد أن شخص ما الوصول إلى ملفات البيانات الثابتة التحميل مثل XML أو JSON.

هذا لا ينصح للاستهلاك العام أو العام الذي يربط.

أستطيع أن أؤكد أن هذه هي القضية عندما mod_rewrite لا يتم استخدامها.

<?php echo $html->link('pdf', '/files/test.pdf'); ?>

النواتج

<a href="/pathtoapp/index.php/files/test.pdf">pdf</a>

فإنه يجب الإخراج

<a href="/pathtoapp/app/webroot/files/test.pdf">pdf</a>

هذا يجب أن تعمل

<?php echo $html->link('pdf', $this->webroot('files'.DS.'test.pdf'); ?>

أنا لست متأكدا من أنني أفهم السؤال بشكل صحيح ، ولكن هنا يذهب.في الأساس أي ملف كنت وضعت في webroot المجلد سوف يكون موجودا على خادم الويب ، حتى إذا وضعت الملف في webroot/files/file.pdf يمكنك ببساطة ربط /files/file.pdf.

إذا كان هذا لا يعمل, الرجاء توضيح سؤالك...

أو..

<a href="<?php echo $this->webroot; ?>files/somefile.pdf">Link Text</a>

:)

أو...

<a href="<?php echo $html->url('/files/somefile.pdf'); ?>">Link Text</a>
       <a href="<?php echo $this->request->webroot . 'carpetadentrodelwebroot/archivo.pdf'; ?>" target="pdf-frame" download="nombreParaDescarga">Descargar Archivo</a>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top