Tools & more… - Mike Unckel

PHP: CSV lesen und HTML-Tabellen erzeugen

Kurz und bündig...
<?php

// Konfiguration
$csvFile = "daten.csv";
$firstRowHeader = true;
$maxRows = 10;

// Daten auslesen und Tabelle generieren
$handle = fopen($csvFile, "r");
$counter = 0;
echo "<table class=\"csvTable\">";
while(($data = fgetcsv($handle, 999, ";")) && ($counter < $maxRows)) {

	echo "<tr>";
	if(($counter == 0) && $firstRowHeader) {
		echo "<th>".$data[0]."</th>";
		echo "<th>".$data[1]."</th>";
		echo "<th>".$data[2]."</th>";
	}
	else {
		echo "<td>".$data[0]."</td>";
		echo "<td>".$data[1]."</td>";
		echo "<td>".$data[2]."</td>";
	}
	echo "</tr>";

	$counter++;
}
echo "</table>";	

fclose($handle);

?>

Juni 2010 | Permalink | Feedback


Javascript: Einfacher Spamschutz für E-Mail-Adressen

Einfacher aber effektiver Spamschutz für E-Mail-Adressen mit Javascript und jQuery.
Ist JavaScript deaktiviert, erscheint nur info [at] domain.com.

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

$(document).ready(function(){
  $('.email').each(function(index) {
    var pA = $(this).text();
    var pAA = pA.replace(" [at] ", "&#64;");
    $(this).html("<a href=\"mailto:" + pAA + "\">" + pAA + "</a>");
  });
});

</script>

Aus: info [at] domain.com
wird: info@domain.com

Im Quelltext die E-Mail-Adressen in span-Tags mit der Klasse "email" setzen:
<span class="email">info [at] domain.com</span>

D.h. alle Elemente mit der Klasse "email" werden in les- und klickbare E-Mail-Adressen umgewandelt.

Ohne jQuery könnte es z.B. so aussehen:

<script type="text/javascript">

function convertMailAddress() {
  var emailElements;
  if (document.getElementsByClassName)
    emailElements = document.getElementsByClassName("email");
  else
    emailElements = document.getElementsByClassNameForOldies("email");
  var elementContent, replaceContent;
  for (var i=0; i<emailElements.length; i++) {
    elementContent = emailElements[i].innerHTML;
    replaceContent = elementContent.replace(" [at] ", "&#64;");
    emailElements[i].innerHTML =
      "<a href=\"mailto:" + replaceContent + "\">" + replaceContent + "</a>";
  }
}

// http://javascript.about.com/library/bldom08.htm
document.getElementsByClassNameForOldies = function(cl) {
  var retnode = [];
  var myclass = new RegExp('\\b'+cl+'\\b');
  var elem = this.getElementsByTagName('*');
  for (var i = 0; i < elem.length; i++) {
    var classes = elem[i].className;
    if (myclass.test(classes)) retnode.push(elem[i]);
  }
  return retnode;
};

window.onload = convertMailAddress;

</script>

Mai 2010 | Permalink | Feedback


Google Chrome Erweiterungen

Google Chrome ist schön schlank, schnell und jeder Tab läuft in einem eigenen Prozess. Folgende Erweiterungen hab ich (als Webworker) mal installiert und bin recht zufrieden damit.

PageRank
Zeigt den Google PageRank der Seite an.
https://chrome.google.com/extensions/detail/pneoplpmnpjoioldpodoljacigkahohc

Pendule
Web developer tools.
https://chrome.google.com/extensions/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi

W3C (x)HTML Validator
Stimmt alles soweit? Gut! ;)
https://chrome.google.com/extensions/detail/fdicklfajomdgpciofajkedchajbnhkk

Docs-Viewer für PDF/PowerPoint
Vorschau von PDFs, PowerPoint und anderen Dokumente im Google Docs-Viewer.
https://chrome.google.com/extensions/detail/nnbmlagghjjcbdhgmkedmbmedengocbn

addon plugins

Mai 2010 | Permalink | Feedback


Wordpress Plugins beim Einsatz als CMS

Wordpress eignet sich für kleine, einfache Websites auch ganz gut als CMS. Es ist schnell eingerichtet, bietet viele Erweiterungen und ganz wichtig - der Kunde findet sich sehr schnell zurecht. Oft habe ich sogar nur am Telefon "geschult".
Grundlage ist immer ein einfaches CMS-Template. Artikel, Kommentare usw. – alles was nicht gebraucht wird ist deaktiviert.

Neben den bekannten z.B. Kontaktformular-Plugins, kommt man aber um ein paar weitere nicht herum (ich zumindest), weil Wordpress in der Version 2.9.2 das (noch) nicht bietet.

Page Links To
Leitet einen Menüpunkt, was ja einer Seite entspricht, auf eine beliebige URL um.
http://wordpress.org/extend/plugins/page-links-to

Exclude Pages
Versteckt Menüpunkte in der Navigation.
http://wordpress.org/extend/plugins/exclude-pages

Breadcrumb NavXT
Fügt eine "Brotkrummen-Navigation" ein, mit vielen Einstellungsmöglichkeiten.
http://wordpress.org/extend/plugins/breadcrumb-navxt

TinyMCE Advanced
Erweitert den Standard-Editor TinyMCE um etliche Funktionen.
http://wordpress.org/extend/plugins/tinymce-advanced

Google XML Sitemaps
Stellt eine Sitemap für Suchmaschinen zur Verfügung.
http://wordpress.org/extend/plugins/google-sitemap-generator

- to be continued -

wordpress plugin

Mai 2010 | Permalink | Feedback


Mehrsprachige Websites kodieren

Ich musste mal ein PHP-Frameworks für englische, russische, chinesische und arabische Inhalte entwickeln. Im Internet findet sich dazu auch eine Vielzahl von Artikeln, über die "richtige" Kodierung von mehrsprachigen Websites. Wie lassen sich also z.B. kyrillische, chinesische oder auch arabische Zeichen korrekt darstellen. Leider widersprechen sich manche der Tipps.

Daher nun meine Vorgehendweise (getestet auf PC, MAC, Linux mit jeweils unterschiedlichen Browsern):
  • erst mal muss eine Schrift mit entsprechende Zeichenumfang installiert sein (z.B. Arial Unicode)
  • mit einem UTF-8-fähigen Editor arbeiten (sollen die Meisten können)
  • alle Dateien als UTF-8 ohne BOM kodieren
  • Tag-Attribute im HTML-Head entsprechend anpassen, hier z.B. für arabisch:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ar" lang="ar" dir="rtl">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



Code-Ausschnitt als Beispiel



Einstellungen zum Format im Freeware-Editor Notepad++


Mehr Infos dazu:

Unicode Open-Source-Editor Nodepad++
http://notepad-plus.sourceforge.net/

Infos zu UTF-8
http://de.wikipedia.org/wiki/UTF-8

Infos zu BOM (Byte Order Mark)
http://de.wikipedia.org/wiki/Byte_Order_Mark

Grundlagen der Zeichenkodierung
http://toscho.de/2008/grundlagen-zeichenkodierung/

Januar 2010 | Permalink | Feedback


Harmonische Farben finden

Hier ein paar Online-Tools zum Zusammenstellen harmonischer Farben:

ColorJack > Sphere
http://www.colorjack.com/sphere/

ColorBlender
http://colorblender.com/

Color Schemer Online
http://www.colorschemer.com/online.html

Adobe Kuler
http://kuler.adobe.com/

Januar 2010 | Permalink | Feedback


MS-DOS: Warten-Befehl

Da es unter MS DOS (Windows XP!) leider keinen Befehl wie wait oder sleep gibt und auch kein choice mehr in der Standard-Installation vorhanden ist, kann man sich aber mit ping behelfen! Nicht die feine englische Art aber es funktionert.

Das X durch eine Zahl (= Sekunden) ersetzen:
ping -n X 127.0.0.1>nul

wait sleep winxp

August 2009 | Permalink | Feedback


Kostenlose Tools zur Verschlüsselung und Datensicherheit

Hier eine absolut unvollständige, dafür aber persönlich getestete und für gut befundene Freeware-Liste zu Verschlüsselung und Datensicherheit:

Verschlüsselung von ganzen Verzeichnissen, Patitionen und Festplatten:
TrueCrypt

Mal schnell Notizen sicher verschlüsseln:
Steganos LockNote

Sicher Daten löschen:
Eraser

Passwortsafe für PC, MAC, Linux, Handy und und und...
KeePass Password Safe

Schnell und sicher Backups erstellen mit RoboCopy und DOS-Batch
Batch Datensicherung

Juli 2009 | Permalink | Feedback


MS DOS: FTP-Batch mit Auswahlmöglichkeit

Immer wieder die selben Daten per FTP auf den Server laden? Dann hilft vielleicht dieses kleine DOS-FTP-Batch weiter. Infos zum FTP-Upload gibt es hier.

FTP-Uploader.bat

echo off
:start
cls
color 17
echo.
echo FTP UPLOADER
echo.
echo =======================================
echo.
echo [1] Upload (and overwrite) database
echo [2] Upload (and overwrite) all pictures
echo [c] Cancel
echo.
echo =======================================
echo.
set choice=
set /p choice=Type key to start:
if not "%choice%"=="" set choice=%choice:~0,1%
if "%choice%"=="1" goto do1
if "%choice%"=="2" goto do2
if "%choice%"=="c" goto end
goto start

:do1
ftp -s:UploadDatabase.ftp
pause
goto end

:do2
ftp -s:UploadPictures.ftp
pause
goto end

:end
rem the end

UploadDatabase.ftp

open ftp.meinserver.de
Username
Password
cd data
put c:\database.db
disconnect
bye

UploadPictures.ftp

open ftp.meinserver.de
Username
Password
cd data
prompt
mput c:\pisc\*.jpg
disconnect
bye
Referenz: http://www.supportnet.de/threads/1086379

Mai 2009 | Permalink | Feedback


Javascript: Standard-Popup

Öffnet ein ganz normales, schicki-micki-loses Javascript-Popup und zentriert es auf dem Bildschrim.
<script type="text/javascript">
function OpenPopup(url, pwidth, pheight) {
  popup = window.open(url,
    "Win",
    "scrollbars=auto,status=no,toolbar=no,resizable=yes,location=no,menu=no," +
    "width=" + pwidth + ",height=" + pheight + "," +
    "left=" + ((screen.width/2)-(pwidth/2)) + ",top="+ ((screen.height/2)-(pheight/2)));
  popup.focus();
}
</script>
Aufruf z.B.:
<a href="javascript:OpenPopup('http://google.de',600,300);">Popup öffnen</a>

April 2009 | Permalink | Feedback


HTML: Hinweis auf veralteten Internet Explorer zeigen mit Conditional Comments

Hinweis auf den veralteten Browser Internet Explorer 6 und älter auf Websites einblenden, unter Verwendung von Conditional Comments.

<!--[if lte IE 6]>
<div style="background-color:#ffff88; font-family:Arial, Sans-Serif; 
  font-size:11px; text-align:center; margin:0; padding:2px; 
  border:1px solid #999; color:#666;">
  Sie benutzen eine veraltete Software, welche aktuelle Internetseiten 
  ggf. nicht mehr korrekt darstellen kann.
  Aktualisieren Sie ihren <a style="color:#66f" href="http://www.microsoft.com/germany/windows/downloads/ie/getitnow.mspx">Internet Explorer</a>.
</div>
<![endif]-->

Februar 2009 | Permalink | Feedback


Tools: Online-Converter zu Favicon, ico, pdf, doc...

Formate online konvertieren von z.B. JPG zu ICO für Favicons:
http://www.eisbox.net/iconvert/ (besser für Favicon > Web)
http://www.digital-pic.com/icon/generator.php (besser füs System-Icons)

PDF to Word / Excel:
http://www.freepdfconvert.com/

HTML - EM zu Pixel-Umrechner:
http://riddle.pl/emcalc/

favicon jpg to ico converter icon

Februar 2009 | Permalink | Feedback


Excel: Tabellenblattname in Zelle übernehmen

Übernimmt bzw. zeigt den Namen des Tabellenblattes in die gewünschte Zelle.

=TEIL(ZELLE("dateiname";A1);FINDEN("]";ZELLE("dateiname";A1))+1;255)
Super Quelle für noch viiiiiiiel mehr Excel-Formel: http://www.excelformeln.de

Januar 2009 | Permalink | Feedback


CSS: Einfaches Farb-Styling von Messageboxen

... background-color:#ff6; border:2px solid #cc0; ...
... background-color:#6f6; border:2px solid #090; ...
... background-color:#f66; border:2px solid #900; ...

Passende Free-Icons dazu gibt's hier: http://www.famfamfam.com/lab/icons/silk/

Stylesheet Farben msgbox

Dezember 2008 | Permalink | Feedback


MS-DOS: Backup mit Robocopy

Per robocopy /MIR einfach Daten spiegeln (1:1 Image):

@echo off
color 17
echo Backup PC -> USB-HD
echo.

set quelle1="C:\Daten"
set ziel1="H:\Backup"

robocopy %quelle1% %ziel1% /MIR /R:1 /W:1

pause

RoboCopy Erklärung und Optionen:
http://www.msu-hb.de/system/system/robocopy.htm

Download RoboCopy über Windows Server 2003 Resource Kit Tools (sofern nicht vorhanden):
http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

Oktober 2008 | Permalink | Feedback


MS-DOS: Batch mit Fehlerbehandlung am Beispiel xcopy

@echo off
set quelle="C:\Ordner\Test.mdb"
set ziel="Z:\Test.mdb"

rem Hindergrund blau färben
color 1f

echo.
if not exist %ziel% goto Zielproblem
xcopy %quelle% %ziel% /s /v /d /c /i /f /y
if errorlevel 1 goto Kopierproblem
echo.
rem alles ok = Hindergrund grün färben
color 2f
goto Ende

:Kopierproblem
rem Hindergrund rot färben
color cf
goto Ende

:Zielproblem
rem Hindergrund rot färben
color cf
echo Ziel nicht gefunden: %ziel%
goto Ende

:Ende
echo Anwendung beendet
echo.
pause

September 2008 | Permalink | Feedback


Online-Tools für Webdesigner

Schlägt verschiedene Markups (HTML-Zeichen) zu einem eingegebenen Zeichen vor:
http://leftlogic.com/lounge/articles/entity-lookup/

Em <> Pixel Calculator:
http://riddle.pl/emcalc/

RegEx Testing Tool:
http://gskinner.com/RegExr/

Entity

August 2008 | Permalink | Feedback


Wie lange läuft mein Server/PC (Win 2k3 Server/Win XP) schon?

Start » Ausführen » cmd
systeminfo
Und bei z.B. bei deutschen Systemen nach "Systembetriebszeit" suchen oder gleich
systeminfo | find "Systembetriebszeit"

Oktober 2007 | Permalink | Feedback


Excel / Access: Zeilenumbruch in Zellen

Ein Zeilenumbruch in Excel wird mit [Alt] + [Enter] gesetzt.

Ein Zeilenumbruch in Access wird mit [Strg] + [Enter] erzeugt.

September 2007 | Permalink | Feedback


Excel: UNIX-Timestamp im Datum umwandeln

Mit Excel kann man sehr einfach einen UNIX-Timestamp in ein "lesbares" Datum umwandeln.

Z.B. 1179833116.413 = 22.05.2007 13:25:16 Uhr

Zu beachten ist, daß die letzten 3 Ziffern die Millisekunden sind (nicht immer mit einem Punkt getrennt). Die ersten 10 beinhalten Datum und Uhrzeit. Mit der Excel-Funktion LINKS(String, Anzahl) werden dann nur die ersten 10 Ziffern gelesen.

=DATUM(1970;1;1)+(LINKS([ZELLE];10)/86400)

Wichtig: Für die Zellen bzw. Spalte ein Datumsformat auswählen (nicht Standard, Text, ...).

Eine manuelle Umrechnung (hin und zurück) gibt's unter: http://www.michx.de/unix_time.php

Juni 2007 | Permalink | Feedback


FTP-Zugiff per Windows-Explorer

Gerade kein FTP-Client zur Hand? Einfach den Windows-Explorer zum Datei-Upload bzw. -Download benutzen:

ftp://username:passwort@servername

tools ftp

Mai 2007 | Permalink | Feedback


MS-DOS: Singleclick FTP-Up/Download per DOS-Batch

Bei Windows ist unter DOS ein FTP-Client vorhanden. Sehr geschickt um Dateien per Klick auf den Server hoch- bzw. runter zu laden. Einziges Manko: Passwörter werden im Klattext gespeichert!

Im folgenden Beispiel wird die Datei "c:\test.txt" auf den Server www.domain.de in das Verzeichnis "/texte" hoch geladen.
Die Zugangsdaten und was gemacht werden soll kommt in die FtpData.ftp:

open ftp.domain.de
FTP-Benutzername
FTP-Passort
cd texte
put c:\test.txt
disconnect
bye

Aufruf über ein Batchfile FtpUpload.bat:

ftp -s:FtpData.ftp

Referenz:
http://eva-marbach.net/handbuch/s-ftp05.htm
http://rotterdam.ics.uci.edu/info/DosFtp.htm
http://www.sabah.net.my/manuals/br/ftp/ftp-msdos.html
http://www.mydigitallife.info/2006/06/30/upload-mput-and-download-mget-multiple-files-automatically-in-ftp-transfer/

Februar 2007 | Permalink | Feedback