如何根据一个string,每3个字符,创建一个文件夹?($sting长度1-23,最后3个字符为文件名)
$sting => 文件夹 => 文件名
a123456 a/123 456.php
5jo09jjao 5jo/09j jao.php
48 (不创建) 48.phpif(!is_dir(dirname(__FILE__) . '/文件夹)){
mkdir(dirname(__FILE__) . '/文件夹, 0777, true);
}用strlen(),计算字符串长度?chunk_split($sting, 3, "/"),每3位从前面数到后面,不是后面数到前面?
求教了。
$sting => 文件夹 => 文件名
a123456 a/123 456.php
5jo09jjao 5jo/09j jao.php
48 (不创建) 48.phpif(!is_dir(dirname(__FILE__) . '/文件夹)){
mkdir(dirname(__FILE__) . '/文件夹, 0777, true);
}用strlen(),计算字符串长度?chunk_split($sting, 3, "/"),每3位从前面数到后面,不是后面数到前面?
求教了。
解决方案 »
- 想做个微博系统。大家说说看,数据库要怎么设计?
- 大家給我推荐個PHP群發郵件的系統
- CE找基址问题
- php5.2.0 安全模式 mime_content_type不能用?请教用什么可以替代,获得文件类型
- 初学PHP,请教一问题
- 求助高手!!!请问用php邮件发送中为什么图片作为table的背景图就不能转发呢?
- 一个数据库查询返回值的排序问题,请大家来看看!
- 请问有人知道,如何用php或其它语言来显示访客的ip地址呢?
- 如何禁止鼠标左键拖动,同时使得窗口右上角的关闭失效??(注意是拖动,而不是点击)
- 我要使这条语句显示的图形居左:echo "<img src=".$img.">";也就是加上align="left",请问应加在哪里怎么老是出错?
- php 数据库连接关闭问题
- 请问下面的代码是什么意思?
{
$str = substr($str, -3);
return $str.".php";
}
function GetPath($str)
{
$org_str = substr($str,0,strlen($str)-3);
$temp_str = $org_str;
$path_str = "";
$array = array();
for($i=0;$i<(strlen($org_str)/3);$i++)
{
$array[]= substr($temp_str, -3);
$temp_str = substr($temp_str,0,strlen($temp_str)-3);
}
for($i=count($array)-1;$i>=0;$i--)
$path_str.=$array[$i]."/";
return $path_str;
}
$str = "abcdefgh";
echo GetFile($str);
echo "<br>";
echo GetPath($str);
要求字符串长度必须大于3并且是3的倍数。
自己修改ROOT_PATH这个常量的值为你的硬盘目录,将会在这个目录下创建文件夹和文件。
#! /usr/local/php/bin/php<?phpdefine( 'BEGIN_POS', 0 );
define( 'CUT_LEN', 3 );
define( 'MIN_LEN', 4 );
define( 'ROOT_PATH', '/Users/angryfrog/website' );$str = $argv[1] ? $argv[1] : '123abc456def';$strlength = strlen( $str );
function make_path( $begin_pos = 0, $str, $path = ROOT_PATH ){ global $strlength; $dir_name = substr( $str, $begin_pos, CUT_LEN );
$file_name = ''; $begin_pos += CUT_LEN; if( $begin_pos >= $strlength ){ $file_name = $path . '/' . $dir_name . '.php'; if( file_exists( $file_name ) ){
echo "The file is exists! I will give up the job!\n";
return 0;
} mkdir( $path, 0777, true ); if( is_dir( $path ) ){
file_put_contents( $file_name, "If you can see me! so you are not a fool!\n" . PHP_EOL );
return 1;
}
}
else{
$path .= '/' . $dir_name;
call_user_func( __FUNCTION__, $begin_pos, $str, $path );
}
}if( $strlength > MIN_LEN && $strlength % CUT_LEN == 0 ){
make_path( BEGIN_POS, $str );
die("Mission complete!\n");
}
else{
die( "Not enough length of the \$str or illegal length!\n" . PHP_EOL );
}
while(strlen($s)) {
array_unshift($t, substr($s, -3));
$s = substr($s, 0, -3);
}
$t = join('/', $t);@mkdir(dirname($t), 0666, true);
fopen("$t.php", 'w');