PHP text converter

Door , 22 jaar geleden, 4.190x bekeken

Ik heb een hele website thuis gemaakt met zogenaamde short_php_tags (

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<? en [code]<?= ) en ik kwam er achter dat sommige! webhostings die niet ondersteunen(nadruk op sommige).
Dus ik heb een script gemaakt dat in een paar handelingen een bepaalde invoer vervangt door een andere invoer in een opgegeven map. Dat word uitgevoerd bij alle bestanden van een (ook opgegeven) extensie.
Ik weet niet of het overal even goed werkt, maar bij mij doet hij het goed.
Hij heeft me heel wat werk bespaard om al die losse files weer handmatig te veranderen van [code]<? naar [code]<?php.
Misschien komt hij anderen van pas vandaar dat ik hem hier post :) open source

Gesponsorde koppelingen

PHP script bestanden

  1. php-text-converter

 

Er zijn 9 reacties op 'Php text converter'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Vdleije .
vdleije .
22 jaar geleden
 
0 +1 -0 -1
Niet echt mooi uitgelijnd, enuh waarom dat html bovenaan, voor de rest: ziet er goed uit!
 
0 +1 -0 -1
@vdleije: Helemaal mee eens, zoiets zou het moeten worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<html>
 <head>
  <title>Php Mass Text Changer</title>
 </head>
 <body>
 <?php
 global $self;
 $self = explode("/", $_SERVER['PHP_SELF']);
 $self = $self[count($self)-1];
 if(isset($_POST['dir']) && isset($_POST['from']) && isset($_POST['to']) && isset($_POST['ext'])) {
   if(($_POST['ext'] != '') && ($_POST['from'] != '') && ($_POST['to'] != '') && ($_POST['dir'] != '')) {
     $newdir = str_replace("\\\\","\\", $_POST['dir']);
     echo "<br>DIR: ".$newdir."\n";
     echo "<br>FROM: ".$_POST['from']."\n";
     echo "<br>TO: ".$_POST['to']."\n";
     echo "<br>EXT: ".$_POST['ext']."\n";
     echo "<br>Running...\n";
     echo "<br>\n";
     global $filestochange;
     global $dirstochange;
     global $extension;
     global $tobechanged;
     global $tobechangedto;
     $extension = $_POST['ext'];
     $tobechanged = $_POST['from'];
     $tobechangedto = $_POST['to'];
     checkfiles($newdir);
   }
else{
     echo "<br>DIR: ".$newdir."\n";
     echo "<br>FROM: ".$_POST['from']."\n";
     echo "<br>TO: ".$_POST['to']."\n";
     echo "<br>EXT: ".$_POST['ext']."\n";
     echo "<br>One or more of these fields are empty!...\n";
     echo "<br>\n";
   }    
}
else{
    echo "<form method=\"post\" action=".$self.">\n";
    echo "<table>\n";
    echo "<tr>\n";
    echo "Dir: <input type=\"text\" name=\"dir\" value=\"D:\Website\game\" />\n";
    echo "</tr>\n";
    echo "<tr>\n";
    echo "Extension: <input type=\"text\" name=\"ext\" value=\"php\" />\n";
    echo "</tr>\n";
    echo "<tr>\n";
    echo "From: <input type=\"text\" name=\"from\" value=\"/[<][?] /\" />\n";
    echo "</tr>\n";
    echo "<tr>\n";
    echo "To: <input type=\"text\" name=\"to\" value=\"<?php \" />\n";
    echo "</tr>\n";
    echo "<tr>\n";
    echo "<input type=\"submit\" name=\"submit\" value=\"Change\" />";
    echo "</tr>\n";
    echo "</table>\n";
    echo "</form>\n";
}    

function
checkfiles($dir) {
  global $dirstochange;
  global $filestochange;
  global $extension;
  global $tobechanged;
  global $tobechangedto;
  global $self;
  echo "<p><font color=blue>Entering ".$dir."\\";
  $d = dir($dir);
  while ( ($file = $d->read() ) != false ) {
    if (@ dir($file) && ($file != ".") && ($file != "..")) {
      checkfiles($dir."\\".$file);
    }

    elseif (preg_match ("/.\.".$extension."$/i", $file) && ($file != $self)) {
      replacezor($dir."\\".$file);
    }
  }

  echo "<p><font color=blue>Leaving ".$dir."\\".$file;
}

function
replacezor($filez) {
  global $dirstochange;
  global $filestochange;
  global $extension;
  global $tobechanged;
  global $tobechangedto;
  global $self;
  if( ($fh = fopen($filez, 'r'))  != FALSE) {
    $theData = @fread($fh, filesize($filez));
    fclose($fh);
    unlink($filez);
    if( ($fh = fopen($filez, 'w'))  != FALSE) {
      $theData = preg_replace($tobechanged,$tobechangedto,$theData);
      fwrite($fh, $theData);
      fclose($fh);
      echo "<br><font color=green>Replacing: ".$filez;
    }
else{
      echo "<br><font color=red>ERROR writing: ".$filez;
    }
  }
else {
    echo "<br><font color=red>ERROR reading: ".$filez;
  }
}

?>

</body>
</html>
B a s
B a s
22 jaar geleden
 
0 +1 -0 -1
Menig editor heeft een replace functie in zich zitten die alle open of alle in een map gedefinieerde bestanden afgaat?
Marien xD
Marien xD
22 jaar geleden
 
0 +1 -0 -1
En wie gebruikt er op dit moment nou <font> bah...
- wes  -
- wes -
22 jaar geleden
 
0 +1 -0 -1
Nou ik vind het een goed en mooi script chapeau!

tenminste orgineeeeel


22 jaar geleden
 
0 +1 -0 -1
@Boris
Over " of ' zijn al veel discussie gevoerd, laten we de strijdbijl hierover begraven a.u.b.

Een echo over meerdere regels is verre van goed voor de leesbaarheid van de code.

Voor de rest sluit ik me aan bij Bas Kreleger.
Raymond ---
Raymond ---
22 jaar geleden
 
0 +1 -0 -1
@boris De "'s zijn mischien wel verplicht voor valid HTMl, maar zo werkt het ook hoor:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "<p><font color=blue>Leaving ".$dir."\\".$file; ?>
 
0 +1 -0 -1
We gaan offtopic, we zouden het over het PHP geeelte moeten hebben en niet over <font> maar ok, eigenlijk zou opmaak bij een script verboden moeten worden om om gezeikur te voorkomen.
Ik ben het wel eens met Webmakerij, iedereen heeft zo zijn eigen manieren.

Offtopic:

Ik gebruik dus altijd " i.c.m. \n omdat dit in menig editor beter getoond wordt dan enters. Voor grote lappen HTML gebruik ik gewoon echo <<<EOF (En dan $content .= i.p.v. echo).


Verder is een voorbeeld wel leuk. Dan hoeven we het niet allemaal op onze eigen localhost te testen.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Kabbi
kabbi
22 jaar geleden
 
0 +1 -0 -1
Hoi Wytse,

Dit is een script dat ik erg goed zou kunnen gebruiken! Bij mij werkt het alleen niet. Er wordt niks veranderd.

Wel krijg ik onderstaande te zien:

DIR: E:\map\map\htdocs\TEST\
FROM: /[<][?] /
TO: EXT: php
Running...

Entering D:\xampp\xampp\htdocs\sup\TESTS\testdata\
Replacing: D:\xampp\xampp\htdocs\sup\TESTS\testdata\test1.php

Leaving D:\xampp\xampp\htdocs\sup\TESTS\testdata\

Wat zou de reden hiervan kunnen zijn?

Grt,

Kabbi

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. php-text-converter

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.