[РНР] Как открыть и отредактировать файл в списке содержимого каталога.
Привет всем, у меня есть страница php have function list content of directory in computer such as c:/folder после этого я могу открыть, записать и сохранить любой файл, который я хочу в файле списка. Теперь у меня есть полный список содержимого каталога, теперь я хочу щелкнуть любой файл в списке файлов derectory, чтобы открыть его в текстовой области под списком содержимого drictory для просмотра и редактирования файла, а затем у меня есть кнопка submit, чтобы сохранить его. Я не знаю, как это сделать, поэтому, пожалуйста, исправьте мой код, который я даю под введением мне какого-нибудь примера демонстрационного кода или документа для ссылки. Пожалуйста, помогите мне. Большое спасибо.
Вот мой код:
https://www.mediafire.com/?19123qkmgmf7toj
Пример изображения о странице эквивалентной и аналогичной:
На этой картинке у него есть файл списка.
http://i1095.photobucket.com/albums/i472/OLAKEN91/f1_zpsd8327c90.jpg
Теперь мы можем нажать, чтобы открыть 1 файл, такой как” extensions.conf", чтобы прочитать, записать и сохранить его с помощью кнопки submit (update)
http://i1095.photobucket.com/albums/i472/OLAKEN91/f2_zpsf48caae7.jpg
РЕДАКТИРОВАТЬ: код, первоначально введенный Эмили Элис в качестве решения. - энхфлеп
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> table { width: 100%; padding: 5px 5px 0px 5px; text-decoration:none; } a { text-decoration:none; } h3 { padding: 5px 0px 5px 0px; color:#000; } tr { height: 20px; } </style> </head> <body> <!--code show file cua thu muc--> echo "<h3>LIST FILE OF FOLDER</h3>"; // directory $dir = ""; // Opens directory $myDirectory=opendir("."); // Gets each entry while($entryName=readdir($myDirectory)) { $dirArray[]=$entryName; } // Finds extensions of files function findexts ($filename) { $filename=strtolower($filename);//chuyen sang chu thuong $exts=split("[/\\.]", $filename);//cat chuoi $n=count($exts)-1; $exts=$exts[$n]; return $exts; } // Closes directory closedir($myDirectory); // Counts elements in array $indexCount=count($dirArray); // Sorts files sort($dirArray); // Print list content directory print("<table border="1" cellpadding="5" cellspacing="0" class="whitelinks">\n"); print("<tr><th>Name</th><th>Type</th><th>Size</th><th>Date Modified</th></tr>\n"); // Loops through the array of files for($index=0; $index < $indexCount; $index++) { if (substr("$dirArray[$index]", 0, 1) != ".") { //File name $name=$dirArray[$index]; $namehref=$dirArray[$index]; // Gets File Extensions $extn=findexts($dirArray[$index]); // File type switch ($extn) { case "png": $extn="PNG Image"; break; case "jpg": $extn="JPEG Image"; break; case "bmp": $extn="BITMAP Image"; break; case "gif": $extn="GIF Image"; break; case "ico": $extn="Windows Icon"; break; case "txt": $extn="Text File"; break; case "log": $extn="Log File"; break; case "htm": $extn="HTML File"; break; case "php": $extn="PHP Script"; break; case "js": $extn="Javascript"; break; case "css": $extn="Stylesheet"; break; case "pdf": $extn="PDF Document"; break; case "zip": $extn="ZIP Archive"; break; case "docx": $extn="Microsoft Word Document"; break; case "mp3": $extn="MP# Format Sound"; break; default: $extn=strtoupper($extn)." File"; break; } // Gets file size $size=number_format(filesize($dirArray[$index]))." "."KB"; // Gets Date Modified Data $modtime=date("M j Y g:i A", filemtime($dirArray[$index])); $timekey=date("YmdHis", filemtime($dirArray[$index])); print(" <tr> <td><a href="./$namehref">$name</a></td> <td><a href="./$namehref">$extn</a></td> <td><a href="./$namehref">$size</a></td> <td sorttable_customkey="$timekey"><a href="./$namehref">$modtime</a></td> </tr>"); /*print("<tr><td><a href="\"$dirArray[$index]\"">$dirArray[$index]</a></td>"); print("<td>"); print(findexts($dirArray[$index])); //print(filetype($dirArray[$index])); print("</td>"); print("<td>"); print(filesize($dirArray[$index])); print("</td>"); print("<td>"); print($modtime); print("</td>"); print("</tr>\n");*/ } } print("</table>\n"); ?> <!--code doc sua va luu 1 file bat ky--> <br /> <h3>OPEN, EDIT AND SAVE ANY FILE IN LIST FILE OF FOLDER</h3> <br /> <form name="read_form" method="post" action=""> <textarea name="read_file" cols="110" rows="35" wrap="off"> </textarea> <br /> <input type="submit" name="update" value="UPDATE" /> </form> </body> </html>
enhzflep
Это мой 1 голос. Я был бы рад (и хотел бы) улучшить его, если бы вопрос был отредактирован таким образом, чтобы это было оправдано.
1) вы просите людей исправить ваш код, прежде чем попросить демонстрацию или документ. Вы не производите на меня впечатления заинтересованного в том, как это работает, просто решение. Я часто ошибаюсь.
2) код, который вы загрузили, представляет собой rar-файл размером 1,1 МБ. Это просто безумие. Это действительно довольно простая задача. Нет абсолютно никакой необходимости в таком большом дампе кода для этой задачи.
3) Вы даже не сказали, где вы застряли, что вы сделали. Вы действительно ожидаете, что люди будут просматривать ваш zip-файл только для того, чтобы попытаться понять, какая у вас проблема?
4) относящийся к (3) - есть 1,1 МБ изображений и 25 КБ кода, в дополнение к 275 КБ не минимизированного jQuery o_O
Вы должны построить минимальный пример, чтобы продемонстрировать проблему, с которой вы столкнулись, и задать вопросы, связанные с этим.
Альтернативой может быть описание того, что вы понимаете как грубые шаги, необходимые для выполнения этой задачи, а также шаги, с которыми у вас возникли проблемы.
Послушайте, мы все когда-то были новичками в этом концерте, но ваш нынешний подход лучше подходит для другого сайта, чем этот.
Конечно, вы можете просто отправить 50 долларов на мой paypal, и я сделаю 60 минут детективной работы над вашим загруженным файлом .rar-тогда вы можете проигнорировать пункты 1-4 этого комментария.
Правка: смотрите здесь предложения о том, как сделать сообщения более вероятными для вас другими: Короткий, Самодостаточный, Правильный (Компилируемый) Пример
Sergey Alexandrovich Kryukov
Отличный ответ. И отличная, самая полезная ссылка.
—СА
enhzflep
Спасибо, и мы будем очень рады. :)
Практика делает совершенным-это всегда так трудно практиковать неизвестный процесс. Эта связь, должно быть, помогла сотням тысяч за последнее десятилетие.
С.
enhzflep
Пара быстрых моментов Эмили Элис:
1) в будущем вы должны отредактировать свой исходный вопрос, чтобы предоставить обновления - не добавляйте обновления в качестве "решения"
2) вы определенно не должны отмечать такое "решение" как "принятое" (или как там это называется) Это приводит к тому, что ваша проблема выглядит как решенная, а это явно не так.
3) пожалуйста, удалите свое "решение" - я обновил ваш оригинальный пост, включив в него код.