Up- & Download Modul
Meinst du das hier
http://www.contenido.org/forum/viewtopi ... 138#100138
Bitte dort einfach weiterlesen,, möglicherweise ist es das PHP4/PHP5 Problem.
http://www.contenido.org/forum/viewtopi ... 138#100138
Bitte dort einfach weiterlesen,, möglicherweise ist es das PHP4/PHP5 Problem.
Für die Freizeit : www.hobbybrauer.de
Hi zusammen,
habe das Modul nun für 4.8.7 (PHP5) zum Laufen bekommen, allerdings ein Problem: Ich muss den Upload-Pfad in der INPUT Funktion makeSelect hardcoden, der Pfad aus dem Aufruf $pfad = new pfad(...) wird nicht übegeben. Bin nicht der Supercoder, Hilfe wäre toll!
Hier mein Code:
Input:
Output:
habe das Modul nun für 4.8.7 (PHP5) zum Laufen bekommen, allerdings ein Problem: Ich muss den Upload-Pfad in der INPUT Funktion makeSelect hardcoden, der Pfad aus dem Aufruf $pfad = new pfad(...) wird nicht übegeben. Bin nicht der Supercoder, Hilfe wäre toll!
Hier mein Code:
Input:
Code: Alles auswählen
?><?php
/**************************************
CMS_VAR[1]: Administratoren
CMS_VAR[2]: Uploadgrenze Admins
CMS_VAR[3]: Uploadgrenze Nicht-Admins
CMS_VAR[4]: Upload-Ordner auswählen
CMS_VAR[5]: Löschberechtigte User
CMS_VAR[6]: Anzeige der Zeichen des Dateinamen
CMS_VAR[7]: Nicht-Admins Downloadliste sehen
CMS_VAR[8]: Nicht-Admins Upload sehen
CMS_VAR[9]: Fehlermeldung wenn Ordner leer
CMS_VAR[10]: Breite der Tabelle in Pixel
**************************************/
cInclude('classes', 'class.frontend.users.php');
$oFEUsers = new FrontendUserCollection;
$oFEUsers->setOrder("FrontendUserCollection.username");
$oFEUsers->query();
$oFEUsers2 = new FrontendUserCollection;
$oFEUsers2->setOrder("FrontendUserCollection.username");
$oFEUsers2->query();
unset($aData);
$aData = array();
/* VERSION FÜR PHP5 *********************************/
class pfad {
function getPath($root,$level = 0) {
$content = $this->readDir($root);
foreach ($content as $file) {
if (is_dir($root.$file)) {
$verzeichnis = substr($root,$this->pathlen);
$returnvalue["{$verzeichnis}{$file}/"] = str_repeat(" ",$level * 5).$file;
//$returnvalue = array_merge($returnvalue,$this->getPath($root.$file."/",$level+1));
$subdirs=$this->getPath($root.$file."/",$level+1);
if ($subdirs != NULL) {
$returnvalue = $returnvalue + $subdirs;
}
}
}
return $returnvalue;
}
/******************************************************/
function readDir($path) {
$handle = opendir($path);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") $returnvalue[] = $file;
}
closedir($handle);
return $returnvalue;
}
function makeSelect($preselection) {
$pfad = $this->getPath("E:/dev/HTDOCS/Sites/cms/upload/");
foreach ($pfad as $key => $value) {
if ($preselection == $key) {
echo "<option value=\"$key\" selected=\"selected\">$value</option>";
} else {
echo "<option value=\"$key\">$value</option>";
}
}
}
}
$pfad = new pfad($cfgClient[$client]["path"]["frontend"] . $cfgClient[$client]["upl"]["frontendpath"]);
if ("CMS_VALUE[7]" == 1) {$cb7 = " checked";} else {$cb7 = "";}
if ("CMS_VALUE[8]" == 1) {$cb8 = " checked";} else {$cb8 = "";}
echo '<table cellspacing="0" cellpadding="0" width="600">
<tr>
<td>Administratoren (Frontend-User): </td>
<td><textarea name="'."CMS_VAR[1]".'" class="textbox" cols="20" rows="5" wrap="virtual">'."CMS_VALUE[1]".'</textarea></td>
<td><select name="admins" size="6" onclick="insertTxt(\'' . "CMS_VAR[1]" . '\',this.form.admins.options[this.form.admins.selectedIndex].value)">';
while ($oFEUser = $oFEUsers->next()) {
$username=$oFEUser->get("username");
echo '<option value="'.$username.'">'.$username."</option>";
}
echo '</select></td>
</tr>
<tr bgcolor="#cccccc">
<td>Uploadgrenze Nicht-Admins: </td>
<td colspan="2"><input type="text" name="'."CMS_VAR[2]".'" value="'."CMS_VALUE[2]".'" class="textbox"> MB</td>
</tr>
<tr>
<td>Uploadgrenze für Admins:</td>
<td colspan="2"><input type="text" name="'."CMS_VAR[3]".'" value="'."CMS_VALUE[3]".'" class="textbox"> MB</td>
</tr>
<tr bgcolor="#cccccc">
<td>Fehlermeldung, wenn Ordner leer:</td>
<td colspan="2"><input type="text" name="'."CMS_VAR[9]".'" value="'."CMS_VALUE[9]".'" style="width:300px;" class="textbox"></td>
</tr>
<tr>
<td>Breite der Tabelle in Pixel:</td>
<td colspan="2"><input type="text" name="'."CMS_VAR[10]".'" value="'."CMS_VALUE[10]".'" class="textbox"></td>
</tr>
<tr bgcolor="#cccccc">
<td>Uploadordner auswählen: </td>
<td colspan="2"><select size="1" name="'."CMS_VAR[4]".'" />';
$pfad->makeSelect("CMS_VALUE[4]");
echo '</select></td>
</tr>
<tr>
<td>Löschberechtigte User: </td>
<td><textarea name="'."CMS_VAR[5]".'" class="textbox" cols="20" rows="5" wrap="virtual">'."CMS_VALUE[5]".'</textarea></td>
<td><select name="dels" size="6" onclick="insertTxt(\'' . "CMS_VAR[5]" . '\',this.form.dels.options[this.form.dels.selectedIndex].value)">';
while ($oFEUser = $oFEUsers2->next()) {
$username=$oFEUser->get("username");
echo '<option value="'.$username.'">'.$username."</option>";
}
echo '</select></td>
</tr>
<tr bgcolor="#cccccc">
<td>Angezeigte Zeichen der Dateinamen: </td>
<td colspan="2"><input type="text" name="'."CMS_VAR[6]".'" value="'."CMS_VALUE[6]".'" class="textbox"></td>
</tr>
<tr>
<td>Nicht-Admins dürfen Downloadliste sehen: </td>
<td colspan="2"><input type="checkbox" name="'."CMS_VAR[7]".'" value="1"'.$cb7.'></td>
</tr>
<tr bgcolor="#cccccc">
<td>Nicht-Admins dürfen Upload sehen: </td>
<td colspan="2"><input type="checkbox" name="'."CMS_VAR[8]".'" value="1"'.$cb8.'></td>
</tr>
</table>';
echo "<script language=\"JavaScript\">
function insertTxt(ctlname, theText) {
ctl=document.getElementsByName(ctlname)[0];
if (ctl.value == '') {
ctl.value = theText;
} else {
ctl.value += ', ' + theText;
}
ctl.focus();
}
</script>\n";
?><?php
Code: Alles auswählen
<?php
if (isset($_POST['loadfile'])) {
//echo '<meta http-equiv="refresh" content="0; URL='.$cfg['path']['contenido_fullhtml'].'../'.$_POST[file_path].'">';
echo '<meta http-equiv="refresh" content="0; URL='.$cfgClient[$client]["htmlpath"]["frontend"].$_POST[file_path].'">';
}
$buttonstyle1 = "width:250px;height:20px;"; // Button 1
$buttonstyle2 = "width:100px;height:20px;margin-left:10px;"; // Button 2
$headcolor = "background-color:#eeeeee;padding:2px;"; // Tabellenkopf
$username="";
$adminname="";
$deluser="";
if (strip_tags($_GET[idcat])!="" || strip_tags($_GET[idcat])!=0) {
$idcat=strip_tags($_GET[idcat]);
$catpath="idcat=".$idcat;
}
if (strip_tags($_GET[idcatart])!="" || strip_tags($_GET[idcatart])!=0) {
$idcatart=strip_tags($_GET[idcatart]);
$catpath="idcatart=".$idcatart;
}
if (strip_tags($_GET[idart])!="" || strip_tags($_GET[idart])!=0) {
$idart=strip_tags($_GET[idart]);
$catpath="idart=".$idart;
}
$foldererror="<br clear=\"all\"/>"."CMS_VALUE[9]";
$tablewidth="CMS_VALUE[10]";
function cut($text, $length) {
$dec = array("\"", "'", "\\", '\"', "\'", "<", ">");
$enc = array(""", "'", "\", """, "'", "<", ">");
$text = str_replace($enc, $dec, $text);
if (strlen($text) > $length) {
$text = substr($text, 0, ($length-3))."...";
}
$text = str_replace($dec, $enc, $text);
return $text;
}
$path="CMS_VALUE[4]";
$username=$auth->auth['uname'];
$delpool="CMS_VALUE[5]";
$treffer_del = substr_count($delpool, $username);
if ($treffer_del==1) {
$deluser=$username;
}
$adminpool="CMS_VALUE[1]";
$treffer_admin = substr_count($adminpool, $username);
if ($treffer_admin==1) {
$adminname=$username;
}
if ($username==$adminname) {
$max_filesize_mb="CMS_VALUE[3]";
} else {
$max_filesize_mb="CMS_VALUE[2]";
}
$max_filesize=bcmul($max_filesize_mb,1000000);
function parseByteSize($size,$digits=2,$dir=false){
$kb=1024; $mb=1024*$kb; $gb=1024*$mb; $tb=1024*$gb;
if(($size==0)&&($dir)){return "Empty";}
else if($size<$kb){return $size." Bytes";}
else if($size<$mb){return round($size/$kb,$digits)." KB";}
else if($size<$gb){return round($size/$mb,$digits)." MB";}
else if($size<$tb){return round($size/$gb,$digits)." GB";}
else{return round($size/$tb,$digits)." TB";}
}
if ($step=="delete" && $username=="$adminname") {
unlink($path.$filename);
}
if (isset($_POST['uploadfile'])) {
$fileext = $_FILES['myfile']['type'];
$filename = $_FILES['myfile']['name'];
$filesize = $_FILES['myfile']['size'];
$filetemp = $_FILES['myfile']['tmp_name'];
if ($filesize > $max_filesize) {
$error = "<b>Die Datei ist mit $filesize Bytes größer als $max_filesize_mb MB.</b>";
}
if ($error == "") {
move_uploaded_file($filetemp, $path."$filename");
chmod($path."$filename",0664);
echo "<font color=red><b>Die Datei wurde erfolgreich hochgeladen.</b></font><br>";
} else {
echo "$error";
}
}
$show_upload="CMS_VALUE[8]";
if ($show_upload==1 || $username==$adminname) {
echo "<div><form name=\"uploadform\" method=\"post\" action=\"$PHP_SELF?".$catpath."\" enctype=\"multipart/form-data\">
<div>Datei:<br /><input type=\"file\" name=\"myfile\" class=\"button\"><input type=\"submit\" name=\"uploadfile\" value=\"hochladen\" class=\"button\">
</form></div>
<div style=\"margin-bottom:5px;\">Dateien dürfen maximal <strong style=\"color:#ff0000;\">$max_filesize_mb MB</strong> groß sein!<br />
<strong>Bitte nur virengescannte Dateien hochladen!</strong></div></div>";
}
$show_list="CMS_VALUE[7]";
if ($show_list==1 || $username==$adminname) {
$handle=opendir($path);
while ($file = readdir($handle)){
if ($file!='.' && $file!='..' && $file!='/') {
if (!@opendir($path.$file)==true) {
$file_list[] = $file;
}
}
}
closedir($handle);
@sort($file_list);
if ($file_list!="") {
echo "<div style='padding-top:20px;'><table align='left' width='".$tablewidth."' class='content' cellspacing='1' border='1' cellpadding='1' style='border-collapse: collapse; background:#bbbbbb;'>
<tr style='$headcolor'>
<td style='$headcolor'>Dateiname</td>
<td style='$headcolor'>Größe</td>
<td style='$headcolor'>Aktion</td>";
if ($username==$deluser) echo "<td><span style=\"color:#ff0000;\">löschen</span></td>";
echo "</tr>";
for ($count=0;$file_list[$count]!="";$count++) {
echo '<tr style="background-color:#ffffff;" onmouseover="this.style.backgroundColor = #dddddd" onmouseout="this.style.backgroundColor = #ffffff">
<td style="padding:2px;"><a href="'.$path.$file_list[$count].'" target="_blank" title="Rechtsklick für Download">'.cut($file_list[$count],"CMS_VALUE[6]").'</a></td>
<td style="padding:2px;">'.parseByteSize(@filesize($path.$file_list[$count]),2,false).'</td>
<!--<td style="padding:2px;"><a href="'.$path.'$file_list[$count]" target="_blank"><nobr>öffnen | speichern</nobr></a></td>-->
<td style="padding:2px;">
<form action="" method="post" style="margin:0px;">
<input type="hidden" value="'.$path.$file_list[$count].'" name="file_path"></input>
<input type="submit" name="loadfile" class="button" value="herunterladen"></input>
</form>
</td>';
if ($username==$deluser) {
echo "<td><a href='$PHP_SELF?idcat=$idcat&step=delete&filename=$file_list[$count]' target='_self'>löschen</a></td>";
}
echo "</tr>";
}
echo "</table></div><br clear=\"all\" />";
} else {
echo $foldererror;
}
}
?>
Daran saß ich auch die letzten Tage über. Ich habe eine neue Version des Moduls fertig, muss sie aber noch für 4.8.8 fixen. Heute oder morgen werde ich dazu hier eine Aktualisierung rein schreiben.
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Neue Version 2.4
So, die Version 2.4 ist fertig. Wie immer in der SIG.
Getestet habe ich mit Contenido 4.6.15 ModRewrite, 4.6.24, 4.8.7 und 4.8.8.
Da ich kein PHP4 mehr nutze, sollte es vielleicht noch jemand testen, der PHP4 hat, ob da auch alles geht
Getestet habe ich mit Contenido 4.6.15 ModRewrite, 4.6.24, 4.8.7 und 4.8.8.
Da ich kein PHP4 mehr nutze, sollte es vielleicht noch jemand testen, der PHP4 hat, ob da auch alles geht
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
-
- Beiträge: 10
- Registriert: Sa 13. Sep 2008, 09:09
- Wohnort: Berlin
- Kontaktdaten:
Hallo zusammen,
ich bin ein absoluter contenido Neuling und auch kein Coder. Ich möchte aber für meine Arbeit gerne ein Problem lösen:
Wir veranstalten regelmäßig Seminare, Fachkonferenzen, .... Die Referenten lassen uns ca. eine Woche vorher die Vorträge als .ppt zukommen. Da viele Referenten sehr große .ppt Dateien erstellen, ist die Lösung die Vorträge per Mail zu versenden nicht optimal. Nähere Infos findet ihr unter www.obladen.de
Ich habe das Modul von Dinkel installiert und finde es klasse, aber es scheint für mein Vorhaben nicht geeignet zu sein, da dieses Modul bei größeren Dateien einfach mit dem Upload abbricht. (Sowohl bei FF als auch beim IE).
Hat einer einen Tipp für mich, wie ich auch größeren Dateien hochladen kann (bis zu 500 MB)?
ich bin ein absoluter contenido Neuling und auch kein Coder. Ich möchte aber für meine Arbeit gerne ein Problem lösen:
Wir veranstalten regelmäßig Seminare, Fachkonferenzen, .... Die Referenten lassen uns ca. eine Woche vorher die Vorträge als .ppt zukommen. Da viele Referenten sehr große .ppt Dateien erstellen, ist die Lösung die Vorträge per Mail zu versenden nicht optimal. Nähere Infos findet ihr unter www.obladen.de
Ich habe das Modul von Dinkel installiert und finde es klasse, aber es scheint für mein Vorhaben nicht geeignet zu sein, da dieses Modul bei größeren Dateien einfach mit dem Upload abbricht. (Sowohl bei FF als auch beim IE).
Hat einer einen Tipp für mich, wie ich auch größeren Dateien hochladen kann (bis zu 500 MB)?
Vielleicht musst Du Deine PHP-Einstellungen anpassen? Wenn der Server nach 2MB oder nach 8MB sagt, jetzt ist Schluss, dann bricht der Upload ab.
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
-
- Beiträge: 10
- Registriert: Sa 13. Sep 2008, 09:09
- Wohnort: Berlin
- Kontaktdaten:
Vielen Dank Dinkel für die schnelle Hilfe. Ich habe die PHP Einstellungen bei meinem Provider geändert. Die maximale Uploadgröße stand auf 8MB (hätte ich auch vorher drauf kommen können ).
Ich schaffe jetzt auch größere Dateien hochzuladen, aber ab einer Größe von ca. 15-20MB hört er trotzdem auf. Grund hiefür scheint die maximale PHP Ausführungszeit zu sein. Ich habe nur die Befürchtung, wenn ich die Zeit hochsetzte, dass das für andere Teile der Page nicht die optimale Lösung ist.
Ich werde noch ein bisschen weiter tüfteln, aber wenn jemanden etwas einfällt, wie ich das mit der maximalen Ausführungszeit elegater lösen könnte, wäre ich sehr dankbar.
Nachtrag:
Trotz der Erhöhung der maximalen Ausführungszeit besteht das Problem mit der Größe der Dateien immer noch. Hier mal ein Auszug aus der php.ini ... vielleicht hat ja jemand einen Tipp
[PHP]
engine = On
short_open_tag = On
precision = 14
y2k_compliance = Off
output_buffering = Off
output_handler =
unserialize_callback_func =
zlib.output_compression =
implicit_flush = Off
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid =
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = "PHP_"
safe_mode_protected_env_vars = "LD_LIBRARY_PATH"
disable_functions =
highlight.string = "#CC0000"
highlight.comment = "#FF9900"
highlight.keyword = "#006600"
highlight.bg = "#FFFFFF"
highlight.default = "#0000CC"
highlight.html = "#000000"
expose_php = On
max_execution_time = 9000
memory_limit = 50M
error_reporting = 2039
display_startup_errors =
track_errors = Off
variables_order = "EGPCS"
register_argc_argv = On
post_max_size = 500M
gpc_order = "GPC"
magic_quotes_runtime = Off
magic_quotes_sybase = Off
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = On
file_uploads = 1
allow_url_include = 1
asp_tags = On
allow_url_fopen = On
display_errors = On
log_errors = Off
error_log =
register_globals = On
magic_quotes_gpc = On
auto_prepend_file =
auto_append_file =
include_path = ".:/usr/local/lib/php"
upload_max_filesize = 500M
extension_dir = "./"
zend_optimizer.enable_loader = On
zend_optimizer.optimization_level = 15
zend_extension = "/usr/local/php5/ZendOptimizer.so"
[mail function]
SMTP = localhost
sendmail_from = me@localhost.com
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = 1
odbc.check_persistent = 1
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQL]
mysql.allow_persistent = Off
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent =
pgsql.max_persistent = -1
pgsql.max_links = -1
[bcmath]
bcmath.scale = 0
[browscap]
browscap =
[Session]
session.serialize_handler = "php"
session.gc_probability = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = "nocache"
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
session.save_handler = "files"
session.save_path = "/tmp"
session.use_cookies = On
session.name = "PHPSESSID"
session.auto_start = Off
session.cookie_lifetime = 0
session.cookie_path = "/"
session.cookie_domain =
session.gc_maxlifetime = 1440
[Assertion]
assert.active = On
assert.warning = On
assert.bail = Off
assert.callback =
assert.quiet_eval = Off
Ich schaffe jetzt auch größere Dateien hochzuladen, aber ab einer Größe von ca. 15-20MB hört er trotzdem auf. Grund hiefür scheint die maximale PHP Ausführungszeit zu sein. Ich habe nur die Befürchtung, wenn ich die Zeit hochsetzte, dass das für andere Teile der Page nicht die optimale Lösung ist.
Ich werde noch ein bisschen weiter tüfteln, aber wenn jemanden etwas einfällt, wie ich das mit der maximalen Ausführungszeit elegater lösen könnte, wäre ich sehr dankbar.
Nachtrag:
Trotz der Erhöhung der maximalen Ausführungszeit besteht das Problem mit der Größe der Dateien immer noch. Hier mal ein Auszug aus der php.ini ... vielleicht hat ja jemand einen Tipp
[PHP]
engine = On
short_open_tag = On
precision = 14
y2k_compliance = Off
output_buffering = Off
output_handler =
unserialize_callback_func =
zlib.output_compression =
implicit_flush = Off
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid =
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = "PHP_"
safe_mode_protected_env_vars = "LD_LIBRARY_PATH"
disable_functions =
highlight.string = "#CC0000"
highlight.comment = "#FF9900"
highlight.keyword = "#006600"
highlight.bg = "#FFFFFF"
highlight.default = "#0000CC"
highlight.html = "#000000"
expose_php = On
max_execution_time = 9000
memory_limit = 50M
error_reporting = 2039
display_startup_errors =
track_errors = Off
variables_order = "EGPCS"
register_argc_argv = On
post_max_size = 500M
gpc_order = "GPC"
magic_quotes_runtime = Off
magic_quotes_sybase = Off
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = On
file_uploads = 1
allow_url_include = 1
asp_tags = On
allow_url_fopen = On
display_errors = On
log_errors = Off
error_log =
register_globals = On
magic_quotes_gpc = On
auto_prepend_file =
auto_append_file =
include_path = ".:/usr/local/lib/php"
upload_max_filesize = 500M
extension_dir = "./"
zend_optimizer.enable_loader = On
zend_optimizer.optimization_level = 15
zend_extension = "/usr/local/php5/ZendOptimizer.so"
[mail function]
SMTP = localhost
sendmail_from = me@localhost.com
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = 1
odbc.check_persistent = 1
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQL]
mysql.allow_persistent = Off
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent =
pgsql.max_persistent = -1
pgsql.max_links = -1
[bcmath]
bcmath.scale = 0
[browscap]
browscap =
[Session]
session.serialize_handler = "php"
session.gc_probability = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = "nocache"
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
session.save_handler = "files"
session.save_path = "/tmp"
session.use_cookies = On
session.name = "PHPSESSID"
session.auto_start = Off
session.cookie_lifetime = 0
session.cookie_path = "/"
session.cookie_domain =
session.gc_maxlifetime = 1440
[Assertion]
assert.active = On
assert.warning = On
assert.bail = Off
assert.callback =
assert.quiet_eval = Off
Hallo,
ich hab das Modul nun auf 4.8.8 und mod_rewrite zum Laufen bekommen, allerdings mit folgenden Modifikationen.
- POST funktioniert nicht, da in Rewrite ja keine URL-Queries übergeben werden. Statt dessen REQUEST_URI für kompletten Pfad inkl Queries.
- $idcat, $idcatart und $idart sind globale Werte und müssen nicht aus GET herausgefiltert werden (wo sie bei Rewrite auch nicht mehr stehen...)
. Möglicherweise funktioniert die Änderung nicht mehr für 4.6.x.
Grüße
ich hab das Modul nun auf 4.8.8 und mod_rewrite zum Laufen bekommen, allerdings mit folgenden Modifikationen.
- POST funktioniert nicht, da in Rewrite ja keine URL-Queries übergeben werden. Statt dessen REQUEST_URI für kompletten Pfad inkl Queries.
- $idcat, $idcatart und $idart sind globale Werte und müssen nicht aus GET herausgefiltert werden (wo sie bei Rewrite auch nicht mehr stehen...)
. Möglicherweise funktioniert die Änderung nicht mehr für 4.6.x.
Grüße
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Up- & Download 2.4
* Author : Andreas Dinkelacker
* Copyright : Andreas Dinkelacker
* Created : 12.09.2008
* Version : 2.4
************************************************/
if (isset($_POST['loadfile'])) {
$filepath=strip_tags($_POST[file_path]);
$filename=strip_tags($_POST[file_name]);
$filesize=strip_tags($_POST[file_size]);
header("Content-Length: ".$filesize);
header('Content-Disposition: attachment; filename="'.$filename.'"');
ob_clean();
flush();
readfile($cfgClient[$client]["htmlpath"]["frontend"].$filepath);
}
$buttonstyle1 = "width:250px;height:20px;"; // Button 1
$buttonstyle2 = "width:100px;height:20px;margin-left:10px;"; // Button 2
$username="";
$adminname="";
$deluser="";
if ($idcat!="" || $idcat!=0) {
$catpath="idcat=".$idcat;
}
if ($idcatart!="" || $idcatart!=0) {
$catpath="idcatart=".$idcatart;
}
if ($idart!="" || $idart!=0) {
$catpath="idart=".$idart;
}
$foldererror="<br clear=\"all\"/>CMS_VALUE[9]";
$tablewidth="CMS_VALUE[10]";
function cut($text, $length) {
$dec = array("\"", "'", "\\", '\"', "\'", "<", ">");
$enc = array(""", "'", "\", """, "'", "<", ">");
$text = str_replace($enc, $dec, $text);
if (strlen($text) > $length) {
$text = substr($text, 0, ($length-3))."...";
}
$text = str_replace($dec, $enc, $text);
return $text;
}
$path="upload/CMS_VALUE[4]/";
$username=$auth->auth['uname'];
$delpool="CMS_VALUE[5]";
$treffer_del = substr_count($delpool, $username);
if ($treffer_del==1) {
$deluser=$username;
}
$adminpool="CMS_VALUE[1]";
$treffer_admin = substr_count($adminpool, $username);
if ($treffer_admin==1) {
$adminname=$username;
}
if ($username==$adminname) {
$max_filesize_mb=CMS_VALUE[3];
} else {
$max_filesize_mb=CMS_VALUE[2];
}
$max_filesize=bcmul($max_filesize_mb,1000000);
function parseByteSize($size,$digits=2,$dir=false){
$kb=1024; $mb=1024*$kb; $gb=1024*$mb; $tb=1024*$gb;
if(($size==0)&&($dir)){return "Empty";}
else if($size<$kb){return $size." Bytes";}
else if($size<$mb){return round($size/$kb,$digits)." KB";}
else if($size<$gb){return round($size/$mb,$digits)." MB";}
else if($size<$tb){return round($size/$gb,$digits)." GB";}
else{return round($size/$tb,$digits)." TB";}
}
if ($step=="delete" && $username=="$adminname") {
unlink($path.$filename);
}
if (isset($_POST['uploadfile'])) {
$fileext = $_FILES['myfile']['type'];
$filename = $_FILES['myfile']['name'];
$filesize = $_FILES['myfile']['size'];
$filetemp = $_FILES['myfile']['tmp_name'];
if ($filesize > $max_filesize) $error = "<b>Die Datei ist mit $filesize Bytes groesser als $max_filesize_mb MB.</b>";
if ($filename == "") $error.="<b>Bitte eine Datei angeben.</b>";
if ($error == "") {
move_uploaded_file($filetemp, $path.$filename);
chmod($path.$filename,0664);
echo "<font color=red><b>Die Datei wurde erfolgreich hochgeladen.</b></font><br>";
} else {
echo "$error";
}
}
$show_upload=CMS_VALUE[8];
if ($show_upload==1 || $username==$adminname) {
echo '<div id="upload"><form name="uploadform" method="post" action="'.$_SERVER[REQUEST_URI].'" enctype="multipart/form-data">
<div>Datei:<br /><input type="file" name="myfile" class="button"><input type="submit" name="uploadfile" value="upload" class="button">
</form></div>
<div style="margin-bottom:5px;">max. <strong style="color:#ff0000;">'.$max_filesize_mb.' MB</strong></div></div>';
}
$show_list=CMS_VALUE[7];
if ($show_list==1 || $username==$adminname) {
$handle=opendir($path);
while ($file = readdir($handle)){
if ($file!='.' && $file!='..' && $file!='/') {
if (!@opendir($path.$file)==true) {
$file_list[] = $file;
}
}
}
closedir($handle);
@sort($file_list);
if ($file_list!="") {
echo '<div><table align="left" width="'.$tablewidth.'" class="content" cellspacing="1" border="1" cellpadding="1" style="border-collapse: collapse; background:#bbbbbb;">
<tr style="'.$headcolor.'">
<td style="'.$headcolor.'">Filename</td>
<td style="'.$headcolor.'">Size</td>
<td style="'.$headcolor.'">Action</td>';
if ($username==$deluser) echo '<td style="'.$headcolor.'"><span style="color:#ff0000;">delete</span></td>';
echo "</tr>";
for ($count=0;$file_list[$count]!="";$count++) {
$filesize=parseByteSize(@filesize($path.$file_list[$count]),2,false);
echo '<tr style="background-color:#ffffff;" onmouseover="this.style.backgroundColor = #dddddd" onmouseout="this.style.backgroundColor = #ffffff">
<td style="padding:2px;"><a href="'.$path.$file_list[$count].'">'.cut($file_list[$count],CMS_VALUE[6]).'</a></td>
<td style="padding:2px;">'.$filesize.'</td>
<td style="padding:2px;">
<form action="" method="post" style="margin:0px;">
<input type="hidden" value="'.$path.$file_list[$count].'" name="file_path"></input>
<input type="hidden" value="'.$file_list[$count].'" name="file_name"></input>
<input type="hidden" value="'.@filesize($path.$file_list[$count]).'" name="file_size"></input>
<input type="submit" name="loadfile" class="button" value="herunterladen"></input>
</form>
</td>';
if ($username==$deluser) echo '<td class="'.$thisclass.'"><a href="'.$_SERVER[PHP_SELF].'?'.$_SERVER[QUERY_STRING].'&step=delete&filename='.$file_list[$count].'" target="_self">delete</a></td>';
echo "</tr>";
}
echo "</table></div><br clear=\"all\" />";
} else {
echo $foldererror;
}
}
?>
Update
Neue Version erschienen.
XML hat manchmal Probleme beim Import in Contenido 4.8.x zur Folge.
XML hat manchmal Probleme beim Import in Contenido 4.8.x zur Folge.
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Hallo,
ich bekomme das Modul auf dem Contenido 4.8.8 nicht zum laufen. Da ich erst seit kurzem mit Contenido hantiere, bitte ich um Hilfe/erläuterungen.
Wenn ich das Up% Download 2.4 Modul ausführe kommt folgende Fehlermeldung:
Parse error: syntax error, unexpected ';' in /homepages/42/d32510976/htdocs/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 808
Danke im Voraus für Eure Mithilfe.
ich bekomme das Modul auf dem Contenido 4.8.8 nicht zum laufen. Da ich erst seit kurzem mit Contenido hantiere, bitte ich um Hilfe/erläuterungen.
Wenn ich das Up% Download 2.4 Modul ausführe kommt folgende Fehlermeldung:
Parse error: syntax error, unexpected ';' in /homepages/42/d32510976/htdocs/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 808
Danke im Voraus für Eure Mithilfe.
Hi,
ich hab mir das modul heute auch mal kurz angeschaut.
Sehr sehr Vorbildlicher Eingangs-Post.
Ausergewöhlich gutes durch halte vermögen (01.12.2006-heute).
Uebersichtliches CHANGELOG.
Resume: (Lösung für ffg_01 bzw. contenido 4.8.
Z:81 : $max_filesize= $max_filesize_mb*1000000;
(mueste 1000000 nicht eigentlich 1048576 sein?)
Z:116: ... $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ...
Z:192: ... $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ...
+ aus CMS_VALUE[1] würde ich immer "CMS_VALUE[1]" machen weil:
CMS_VALUE[1] wird ca $C1_CMS_VALUE[1]
Platzhalter wird zur Variable mit Wert als Inhalt
"CMS_VALUE[1]" wird ca "WERT"
Platzhalter wird zum Wert gekapselt mit "
was besser für den cache ist
Kritik/Verbesserungen:
- fehlende Übersetzungsmöglichkeit für mehrere Sprachen
- kein Template
- nicht Multi-Client fähig
- fehlendes Changelog oder Link zum Forum in der Beschreibung
mfg OliverL
ich hab mir das modul heute auch mal kurz angeschaut.
Sehr sehr Vorbildlicher Eingangs-Post.
Ausergewöhlich gutes durch halte vermögen (01.12.2006-heute).
Uebersichtliches CHANGELOG.
Resume: (Lösung für ffg_01 bzw. contenido 4.8.
Z:81 : $max_filesize= $max_filesize_mb*1000000;
(mueste 1000000 nicht eigentlich 1048576 sein?)
Z:116: ... $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ...
Z:192: ... $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ...
+ aus CMS_VALUE[1] würde ich immer "CMS_VALUE[1]" machen weil:
CMS_VALUE[1] wird ca $C1_CMS_VALUE[1]
Platzhalter wird zur Variable mit Wert als Inhalt
"CMS_VALUE[1]" wird ca "WERT"
Platzhalter wird zum Wert gekapselt mit "
was besser für den cache ist
Kritik/Verbesserungen:
- fehlende Übersetzungsmöglichkeit für mehrere Sprachen
- kein Template
- nicht Multi-Client fähig
- fehlendes Changelog oder Link zum Forum in der Beschreibung
mfg OliverL
-
- Beiträge: 213
- Registriert: Mi 9. Okt 2002, 21:24
- Kontaktdaten:
fehlermeldung?? bitte hilfe
habe die aktuelle version des moduls auf dem aktuellen contenido instaliert...
Fatal error: Call to a member function reset() on a non-object in /var/www/springfield.de/web/contenido/includes/include.con_editcontent.php(628) : eval()'d code on line 536
hat jemand abhilfe???
dankeschööön
Fatal error: Call to a member function reset() on a non-object in /var/www/springfield.de/web/contenido/includes/include.con_editcontent.php(628) : eval()'d code on line 536
hat jemand abhilfe???
dankeschööön
ergänze mal an anfang vom Output:
mfg OliverL
Code: Alles auswählen
cInclude('classes', 'class.template.php');
$tpl = new Template;
-
- Beiträge: 213
- Registriert: Mi 9. Okt 2002, 21:24
- Kontaktdaten:
super danke
super palletti geht vielen dank...