Php新手,请教使用mkdir创建文件夹为什么不能马上使用呢

来源:百度知道 编辑:UC知道 时间:2024/09/20 11:39:01
我把数据从数据库取出来,然后根据模版生成静态也,在生成的过程中,要根据日期字段创建文件夹,可是文件夹还没创建完,就生成静态页了,导致找不到文件夹,生成静态也失败,代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?php require_once("inc/conn.php");?>
<?php
$fp=fopen("disp_article.html","r");
$str=fread($fp,filesize("disp_article.html"));
fclose($fp);
$hou=".html";
$sql="select * from d_article d,s_type s where

mkdir($path,0777); 不能同时建两级目录.
把你的这一行,换成:
$i = 0;
while (!@mkdir($path, 0777)) {
if (is_dir($path)) break;
$i ++;
if (@mkdir($path . str_repeat("/..", $i), 0777)) $i = 0;
}
这样的试试.

不会同步执行,肯定是按照上下顺序执行的。
你的$path是不是有问题,在数据库里读出来的那个

mkdir() [function.mkdir]: No such file or directory
以上这条警告说明你创建目录失败 判断目录是否存在最好使用is_dir函数
如果你保证路径没有问题 或使用php5或以上版本 并且目录有写权限 可以尝试使用mkdir($path,0777,true)来创建路径
29行和30行的错误 可能都是24行引起的

你要确保 $path 是路径 而不是文件
先创建文件夹 再创建文件就行