Seite 1 von 1

[PHP] preg_match

Verfasst: 27.09.2005 17:18
von DasFragezeichen
Hier mal ein Auszug aus meinem Script :
$laf = ("$newzahl.");

$lol = ("PNG");

if(preg_match"/\." . $lol . "$/i", $_FILES["file"]["name"])) {



if(copy($_FILES["file"]["tmp_name"], $laf.PNG)) {
print ("<a href='http://loaclhost/$newzahl.PNG'>$newzahl.PNG</a>");
}
Wäre ja schön wenn es klappen würde tut es aber nicht :-?

Der rote Bereich muss wohl der Fehler sein IMO ... Denn vorher klappte es noch ... :-?

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /myserver/mypfad/etc./upload.php on line 66

Verfasst: 27.09.2005 17:26
von FatFreddy
Wie wäre es mit:
... preg_match(...
FatFreddy

Verfasst: 27.09.2005 17:42
von DasFragezeichen
Hoffe der Code ist nicht zu groß aber das ganze jetzt als .txt zu speichern ... :-?

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
</head>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data" name="upload">
<input type="file" name="file"><input type="submit" name="submit" value="Upload">
</form> 

</body>
</html>

<?php

$max_byte_size = 1024000;
$allowed_types = "(jpg|jpeg|gif|bmp|png|tif|tiff|swf|zip|ra
r)";


if($_POST["submit"] == "Upload") {

if(is_uploaded_file($_FILES["file"]["tmp_name"])) {

if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {

if($_FILES["file"]["size"] <= $max_byte_size) {



define('DB_HOST', 'localhost');
define('DB_USER', 'web0');
define('DB_PASS', 'mypass');
define('DB_NAME', 'usr_web40_0');
define('TABLE_NAME', 'tabelle'); 

$feld1 = "id";
$feld2 = "feld";
$id = 1;

$verbindung = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Kritischer Fehler!<br>Bitte informieren Sie den 

<a href='mailto:mail@mail.com'>Systemadministrator</a>"); 

mysql_select_db(DB_NAME, $verbindung); 

$sql = "SELECT * FROM ".TABLE_NAME." WHERE ".$feld1."=".$id; 


$result = mysql_query($sql, $verbindung) or die ("Kritischer Fehler!<br>Bitte informieren Sie den 

<a href='mailto:mail@mail.com'>Systemadministrator</a>"); 

if ($row = mysql_fetch_assoc($result))
{
  $zahl = $row[$feld2];
} 

if ($row = mysql_fetch_object($result))
{
  $zahl = $row->$feld2;
} 

$zahl++;
$newzahl = (md5 ($zahl));
$laf = ("$newzahl.");

$lol = "(PNG)";

if(preg_match("/\." . $lol . "$/i", $_FILES["file"]["name"])) { 


if(copy($_FILES["file"]["tmp_name"], $laf.PNG)) {
   print ("<a href='http://localhost/$newzahl.PNG'>$newzahl.PNG</a>");
}


$sql = "UPDATE ".TABLE_NAME." SET ".$feld2."=".$zahl." WHERE ".$feld1."=".$id;

mysql_query($sql, $verbindung) or die ("SQL-Befehl ".$sql." konnte nicht ausgeführt werden"); 

mysql_close();


}
else {

echo "Die Datei darf nur eine Größe von 1 Megabyte besitzen.";

}

}
else {

echo "Die Datei besitzt keine ungültige Endung.";

}

}
else {

echo "Keine Datei angegeben.";

}

}
else {

echo "Maxsize überschritten";

}


?> 

Hm, der Server sagt :
Parse error: parse error, unexpected $ in /srv/www/htdocs/web0/html/upload/upload.php on line 112
Damit kann ich aber nichts wircklich anfangen >_<

Verfasst: 27.09.2005 17:55
von witzigerkiller
also zeile 112 ist:

Code: Alles auswählen

echo "Maxsize überschritten"; 

Aber da ich da kein fehler sehe, meine ich das eine fehlt, weil ich ab und zu mal die meldung
$ end
bekomme, deshalb setz mal eine am schluss mehr

Verfasst: 27.09.2005 18:16
von DasFragezeichen
Hm, ja das musste es gewesen sein :o

Jetzt klappt das Script endlich nach sovielen Jahrtausenden doch :o

Danke ^^

Verfasst: 27.09.2005 18:17
von witzigerkiller
bitte bitte