PHP bir not defteri açma

7 Cevap php

i php dosyasından bir not defteri açmak istiyorum ve notepad i php dosyasında dize olarak ilan metni içermelidir. aslında bir not defteri php dosyasından geçmek metin ile açılmalıdır.

7 Cevap

PHP dosyası bir web sunucusu üzerinde yürütülüyor Eğer böyle yeni bir süreç açmak için bir web tarayıcısı neden olamaz. Senin ne olurdu bir güvenlik delik hayal eminim!

Eğer CLI modunda yerel bir komut dosyası olarak bir PHP dosyasını çalıştırarak ediyorsanız, örneğin, başka bir süreç gibi notepad başlatmak gerekir backticks ya da exec vb kullanılarak

Eğer really bu sunucu tarafı yapmak istiyorsa Ancak, yapabileceği en iyi bir Content-Disposition başlığı, örneğin kullanılan bir PHP komut dosyası var olduğunu

//tell client we're delivering text
header('Content-type: text/plain');

//hint that it's a downloadable file
header('Content-Disposition: attachment; filename="textfile.txt"');

//output our text
echo "The quick brown\nfox jumps over\nthe lazy dog.";

Kullanıcı daha sonra bu dosyayı kaydedin ve kendi seçtikleri editörü açabilirsiniz.

PHP sunucuda tamamen çalıştırmak çünkü PHP kullanıcının makinesinde bir pencere açmak için alınamıyor. Zaman çıkış komut genellikle sonlandırıldı, tarayıcı ulaşır - sadece yapmanız gereken tarayıcıyı sorabilir ne yapmak ve ne (vb HTML / başlıklarını kullanarak) size izin verir edebilirsiniz. Güvenlik amaçlı tarayıcı (veya olmamalıdır) keyfi bir web sitesi makine ile çok yapmak izin vermez - örneğin bu yeni Windows işlemleri spawn izin vermez.

Ben bunu düşünüyorum en iyi bu gibi bir şeydir:

$string = 'a string';

header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="file.txt"');

echo $string;

Tarayıcı türü, düz metin dosya.txt adında bir yükleme olarak içeriği tedavi böylece bu, ilgili başlıkları göndereceğiz. Onlar. Txt için dosya ilişkilendirmesi değiştirmediğiniz sürece tarayıcı, not defteri açmak için muhtemel olacak bir dosya indirmek için onları teşvik etmelidir.

Ancak bunu upload isteyin sürece kullanıcı belgeye yapar herhangi bir değişiklik geri almak mümkün olmayacak, bu yüzden bu başarmak için çalışıyoruz ne için iyi bir çözüm olduğundan emin değilim.

Bu php ancak sunucu tarafında bir programı çalıştırmak mümkündür.

Sunucu Windows çalışır Yani düşünün, bu not defteri sunucu tarafı başlamak istiyorum.

PHP sunucu üzerinde çalıştırılan ve istemci tarafında çalışan ne todo yok olur.

Teknik olarak, bunu yapmak için bir dosya oluşturun ve sonra bir parametre olarak bu dosya ile bir sistemi çalıştırmak gerekiyor. Böyle bir şey:

//String to show in notepad
$myStringToDisplay = "some text to show in notepad";

//Write this string to a file
$myFile = "somefile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $myStringToDisplay);
fclose($fh);

//Execute notepad with this file as a parameter
system("notepad.exe ".$myFile);

Ancak, bu yapmak istediğiniz muhtemelen ne değildir PHP dosyası (sistem çağrıları hatta sunucu üzerinde etkinse), çalıştıran sunucu üzerinde Defteri'ni çalıştırmak için gidiyor. PHP istemci makinede herhangi bir kod çalıştırmasına olamaz ve kesinlikle (şükür) istemci üzerinde istediği herhangi bir programı çalıştırmak için bir sistem çağrısı yapamazsınız. Bu çok büyük, büyük bir güvenlik ihlali olurdu.

Bu istenilen işlevi yerine getirmek değilse, neden yapmak ve çalışıyoruz lütfen bize bildirin. Bu çok mantıklı bir istek gibi gelmiyor.

Bu php uygulamasından bir programı açmak mümkün değildir. Ama bir PHP metin düzenleyicisi kullanarak metin dosyası yüklemek ca. Ayrıca bahsediyorsun değerleri yüklemek mümkün olacak.

http://www.fckeditor.net/ böyle bir editörüdür.

Önce dosyayı "yaratmak" ve metin ile doldurabilirsiniz.

Execute shell command: echo $text >> $filename then execute: notepad $filenameToOpen

Thats it.

To open a notepad from php script we will use command line inter phase. Firstly we will create one php file in that we will write:

var_dump(popen('notepad','r'));

Then we will save that with some name like notepad.php then open command prompat there we will give the path of our file to run our file like:

d:/>wamp>www>php notepad.php

Bu bizim php dosyasını çalıştırın ve bu Notpad Oopen olacaktır.