ページ 11

includes\modules\pages\free_download が動作しない

Posted: 2017/2/24 17:58
by moitaro
お世話になっております。

以前のバージョンのfree_downloadを持って来て
Zencart1.5.1で動作出来れば良いと勝手に期待しております。

ですが
実際にダウンロードしようとすると
Forbidden
となってしまいます。
.htacessが不味いのかと
pubフォルダの
.htacessを取ると
Not Found
となってしまいました。

includes\modules\pages\free_download の header_php.phpには
--------
<?php
/**
* download sample header_php.php
*
* @package page
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: header_php.php 2973 2006-02-04 23:27:35Z wilt $
*/
// This should be first line of the script:
$zco_notifier->notify('NOTIFY_HEADER_START_DOWNLOAD');

--------
とあるので本モジュールはZencart公式のものだと思われるのですが
どうして動作しないのでしょうか?


他の人が困っている可能性があると勝手に私が思っているので
書き込みして申し訳ないのですが
手がかりが欲しいと思っております。

以上 お問い合わせ致します。

includes\modules\pages\free_download が動作しない

Posted: 2017/3/21 15:21
by moitaro
お世話になっております。

落ちている原因が少々判明したので表記失礼します。
ソースを追って行って
\includes\modules\pages\free_download\header_php.php
```
zen_unlink_temp_dir(DIR_FS_DOWNLOAD_PUBLIC);
$tempdir = zen_random_name();
umask(0000);
mkdir(DIR_FS_DOWNLOAD_PUBLIC . $tempdir, 0777);
$download_link = str_replace(array('/','\\'),'_',$download_file_name);
$link_create_status = symlink(DIR_FS_DOWNLOAD . $download_file_name, DIR_FS_DOWNLOAD_PUBLIC . $tempdir . '/' . $download_link);
$zco_notifier->notify('NOTIFY_DOWNLOAD_VIA_SYMLINK___BEGINS');
```
で落ちているのですが
Zencart1.5.1用の
modules\pages\free_download\header_php.php
はどこかにないのでしょうか???

以上 お問い合わせ致します。

includes\modules\pages\free_download が動作しない

Posted: 2017/3/22 15:29
by moitaro
ん?
ちょっとソースを読んでいて

if (DOWNLOAD_BY_REDIRECT == 'true') {
// This will work only on Unix/Linux hosts
zen_unlink_temp_dir(DIR_FS_DOWNLOAD_PUBLIC);
$tempdir = zen_random_name();
umask(0000);
mkdir(DIR_FS_DOWNLOAD_PUBLIC . $tempdir, 0777);
$download_link = str_replace(array('/','\\'),'_',$download_file_name);
$link_create_status = symlink(DIR_FS_DOWNLOAD . $download_file_name, DIR_FS_DOWNLOAD_PUBLIC . $tempdir . '/' . $download_link);

$zco_notifier->notify('NOTIFY_DOWNLOAD_VIA_SYMLINK___BEGINS');

if ($link_create_status==true) zen_redirect(DIR_WS_DOWNLOAD_PUBLIC . $tempdir . '/' . $download_link);
}
                       ↑で
 でリダイレクトしている/pub/何か文字列/
に$download_linkがないから落ちているだけで
$tempdir が 出来ていないので
その上のパーミッションが不味いのかな……

includes\modules\pages\free_download が動作しない

Posted: 2017/3/22 15:41
by moitaro
と思いましたが
その上のパーミッションは777ですし
作ったディレクトリも777なんだよな……

ここにdownload内のファイルへのリンク貼らないとイケナイのかな……

そこの仕組み調査中   思考メモ失礼します。

includes\modules\pages\free_download が動作しない

Posted: 2017/3/22 15:56
by moitaro
アレ?
fftpでpubフォルダにファイルをアップロードしようとしたところ
550 /public_html/zc/pub/ED1.exe: Not a regular file
って言われた……

まぁpubではなくてdownloadなので気にしないでいいのかな……

includes\modules\pages\free_download が動作しない

Posted: 2017/3/24 15:49
by moitaro
if ($link_create_status==true) zen_redirect(DIR_WS_DOWNLOAD_PUBLIC . $tempdir . '/' . $download_link);
をコメントアウトすると
10,932バイトまでダウンロード出来るけど
それはヘッダ部分だけかな……

((+_+))うーん

本当に思考メモを表記して申し訳ございません。

includes\modules\pages\free_download が動作しない

Posted: 2017/3/24 15:52
by moitaro
でもリダイレクトでそこに飛ばしても
pubに実態があるわけではなくて
downloadにあるからエラーになんだよな……

includes\modules\pages\free_download が動作しない

Posted: 2017/3/24 15:56
by moitaro
って
>10,932バイトまでダウンロード出来るけど
は開いてみるとhtmlがダウンロードされていたので
やっぱりリダイレクトの所をちゃんとしないと駄目なんだよな……

こういうのを調査出来るようになりたい……

includes\modules\pages\free_download が動作しない  【解決済み】

Posted: 2017/3/24 16:12
by moitaro
もうしょうがないから
zen_redirect("download/".$download_link);
と直接飛ばせるようにしました。

トピ汚し失礼しました。