在 Yii 2.0 中,基于函数:file_put_contents,将一个字符串写入文件时,使用 别名 ( Aliases ) 来提升普适性
1、基于函数:file_put_contents,将一个字符串写入文件时,小组内部,在定义要被写入数据的文件名时有各种形式
1 2 3 4 5 6 7 8 | file_put_contents (Yii:: $app ->runtimePath . '/cmsTop.log' , date ( 'Y-m-d H:i:s' ) . ' ' . $uri . ' ' . var_export( $data , true), FILE_APPEND); $bathPath = Yii:: $app ->getBasePath(); @ file_put_contents ( $bathPath . '/runtime/responseResult.txt' , var_export( $url , true). "\n" , LOCK_EX); file_put_contents ( '/tmp/123' , date ( 'Y-m-d H:i:s' ) . ' bk_create_params' . var_export( $data , 1) . PHP_EOL, FILE_APPEND); file_put_contents ( 'E:/wwwroot/channel-pub-api/console/runtime/upload-asset-image-exec-handler-' . $assetId . '-' . time() . '.txt' , print_r( $assetId , true)); |
2、在不同的形式下,存在的问题便是,随着程序运行环境的变化,写入数据的文件名也在在不断变化的。进而导致写入失败。可能是路径问题,也有可能是权限问题。最终决定统一为一种形式。使用 别名 ( Aliases ) 来提升普适性与成功率
1 | file_put_contents (Yii::getAlias( '@runtime' ) . '/qq-tp-transaction-video-sync-' . microtime(true) . '-' . mt_rand() . '.txt' , print_r( $qqTransactionServiceHttpTransactionInfoResult , true), FILE_APPEND | LOCK_EX); |
3、最终写入的文件名:/mcloud/www/channel-pub-api/console/runtime/qq-tp-transaction-video-sync-1596087411.7955-2004360950.txt。其内容如下。如图1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Array ( [transaction_id] => 781154629713605046 [transaction_status] => 成功 [ext_err] => 0 [transaction_err_msg] => [transaction_type] => 文章 [transaction_ctime] => 2020-07-24 16:32:22 [article_info] => Array ( [article_title] => 追梦身影·西迁往事之峥嵘岁月 [article_type] => 视频文章 [article_abstract] => 追梦身影·西迁往事之峥嵘岁月 [article_imgurl] => http://inews.gtimg.com/newsapp_ls/0/12144797745_196130/0 [article_pub_flag] => 发布成功 [article_pub_time] => 2020-07-24 16:32:22 [article_id] => 20200724V0MC8V [article_url] => http://kuaibao.qq.com/s/20200724V0MC8V00 [article_video_info] => Array ( [vid] => e3121ha42ez [title] => 追梦身影·西迁往事之峥嵘岁月 [duration] => 00:05:14 [desc] => 追梦身影·西迁往事之峥嵘岁月 [type] => video ) [article_pid] => ) ) |
近期评论