Im пытается создать скрипт, который будет размещать уведомление, хранящееся в текстовом файле при создании/обновлении проекта. Если проект создан, ему необходимо создать файл, и если проект обновляется, ему необходимо обновить существующий файл txt.PHP txt file edit Issue
Пока у меня есть его, чтобы создать txt-файл и обновить его. Однако он только обновляет его один раз, если я пытаюсь обновить файл снова, он просто этого не делает.
Вот код:
function addPost($userID, $content, $date, $featured, $projectID){
if($projectID != 0){
$addClass = 'normal';
$sql1 = "SELECT * FROM `blog` WHERE `projectID` = ".$projectID;
$query1 = mysql_query($sql1);
$num_rows1 = mysql_num_rows($query1);
if($num_rows1 != 0){
$addClass = 'internalUpdate';
}
}else{
$addClass = 'normal';
}
switch($addClass){
case normal;
//SQL to get next ID
$nameQuery = mysql_query("SELECT MAX(ID) FROM `blog`");
$nameRow = mysql_fetch_array($nameQuery);
$nextID = $nameRow['MAX(ID)'] + 1;
//Set Blogname
$blogName = md5($nextID).'.txt';
$blogTargetFile = './file/blog/'.$blogName;
$fileHandle = fopen($blogTargetFile, 'w');
fwrite($fileHandle, $content);
fclose($fileHandle);
$sql2 = "INSERT INTO `blog` (`userID`, `name`, `created`, `featured`, `projectID`) VALUES ('".$userID."', '".$blogName."', '".$date."', '".$featured."', '".$projectID."')";
break;
case internalUpdate;
$sql1 = "SELECT * FROM `blog` WHERE `projectID` = ".$projectID;
$query1 = mysql_query($sql1);
$row1 = mysql_fetch_array($query1);
$blogName = $row1['name'];
$blogTargetFile = './file/blog/'.$blogName;
$fileHandle = fopen($blogTargetFile, 'w');
fwrite($fileHandle, $content);
fclose($fileHandle);
$sql2 = "UPDATE `blog` SET `created` = '".$date."' WHERE `ID` = ".$row1['ID'];
break;
}
mysql_query($sql2);
};
An Идеи?
Чарльз - richini-design.co.uk
Вам нужно немного сузить проблему. Вводит ли код в правильную ветку 'case'? Если это так, возникает ли какая-либо ошибка? –
Разве это не ошибка в случае «нормального» случая; ... case 'internalUpdate'; '(добавить разделители текста)? – Skrol29
Не вижу проблемы там, подумал, что вся тасовка с идентификаторами «ID» и «MD5» немного странна, вы можете сначала выполнить оператор insert и получить идентификатор с помощью 'mysql_insert_id()'. Не нужно указывать имя, поскольку идентификатор уже уникален. Я надеюсь, что есть причина, почему вы храните содержимое блога в отдельном файле (почему бы и нет в базе данных?) – ashein