php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
Alt 19.11.2004, 17:51  
Gast
 
Beiträge: n/a
Standard PHP Upload (Master Value/Local Value Problem)

Hallo!

Ich habe folgendes Problem. Ich habe ein PHP-Skript das über POST eine Datei auf meinen Webspace hochlädt.

Da ja das Problem mit der 2MB Grenze in der php.ini besteht, ich aber Dateien von bis zu 20MB hochladen will, habe ich meinen Provider dazu gebracht mir den upload_max_filesize auf 20MB in der Local Value zu erhöhen. Der post_max_size ist auf 30MB und das memory_limit ist auf 8 MB. Die Werte in der Master Value sind allerdings gleich geblieben.

Jetzt habe ich das Problem das die Grenze von 2MB immer noch existiert. Warum bezieht sich das Skript auf die Master und nicht auf die Local Value Werte?? Die Local Value gilt ja für das Verzeichnis in dem sich das Skript und alle übrigen php-Dateien befinden, oder täusche ich mich da???

Hier noch einmal die php.ini Einstellungen:

Local Value:
memory_limit 8M
max_input_time 60
max_execution_time 30
safe_mode Off
upload_max_filesize 20M
post_max_size 30M

Master Value:
memory_limit 8M
max_input_time 60
max_execution_time 30
safe_mode Off
upload_max_filesize 2M
post_max_size 8M

Bei dem Skript handelt es sich um einen simplen upload mit hilfe des POST befehls!

Ich hoffe jemand kann mir helfen!

Danke!

Gruß Grex
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.11.2004, 19:06  
Gast
 
Beiträge: n/a
Standard Re: PHP Upload (Master Value/Local Value Problem)

Zitat:
Zitat von Grexx
Jetzt habe ich das Problem das die Grenze von 2MB immer noch existiert. Warum bezieht sich das Skript auf die Master und nicht auf die Local Value Werte??
1. Wer (außer Dir) kennt Dein Script sonst noch?
2. ein Link auf Dein phpinfo() wäre angebracht.
3. falls Du mit einer 30 MB Datei irgend was (außer copy oder move_uploaded_files) anstellen willst, sind natürlich 8MB Scriptspeicher zu wenig.

btw: bevor antwortest, lies das http://www.phpfriend.de/forum/viewtopic.php?t=21431 und vervollständige die Deine Infos.
  Mit Zitat antworten
Alt 22.11.2004, 20:27  
Gast
 
Beiträge: n/a
Standard

OK, hier ist der Link zu meiner phpinfo()

http://web37.minden023.server4free.de/datest.php

und so sieht das Skript aus:

PHP-Code:
function AddDownloadUpload() {
    global 
$prefix$db$cookie$user$downloads_anonadddownloadlock$module_name;
    include(
"header.php");
    
$maindownload 1;
    
menu(1);
    echo 
"
"
;
    
OpenTable();
    echo 
"<center><font class=\"title\">[b]"._ADDADOWNLOAD."[/b]</font></center>

"
;
    if (
is_user($user) || $downloads_anonadddownloadlock != 1) {
        echo 
"[b]"._INSTRUCTIONS.":[/b]
"
        
."[b]<big>&middot;</big>[/b] "._DSUBMITONCE."
"
        
."[b]<big>&middot;</big>[/b] "._DPOSTPENDING."
"
        
."[b]<big>&middot;</big>[/b] "._USERANDIP."
"
;
        echo 
"<form method=\"post\" ENCTYPE=\"multipart/form-data\" action=\"modules.php?name=$module_name&d_op=AddUpload\">"
            
.""._DOWNLOADNAME.": <input type=\"text\" name=\"title\" size=\"40\" maxlength=\"100\">
"
            
.""._FILENAME.": <input type=\"file\" name=\"upfile\">
"
;
        echo 
""._CATEGORY.": <select name=\"cat\">";
        
$sql "SELECT cid, title, parentid FROM ".$prefix."_downloads_categories ORDER BY parentid,title";
        
$result $db->sql_query($sql);
        while (
$row $db->sql_fetchrow($result)) {
        
$cid2 $row[cid];
        
$ctitle2 $row[title];
        
$parentid2 $row[parentid];
            if (
$parentid2!=0$ctitle2=getparent($parentid2,$ctitle2);
            echo 
"<option value=\"$cid2\">$ctitle2</option>";
        }
        echo 
"</select>

"
             
.""._LDESCRIPTION."
<textarea name=\"description\" cols=\"60\" rows=\"8\"></textarea>

"
            
.""._AUTHORNAME.": <input type=\"text\" name=\"auth_name\" size=\"30\" maxlength=\"60\">
"
            
.""._AUTHOREMAIL.": <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"60\">
"
            
.""._VERSION.": <input type=\"text\" name=\"version\" size=\"11\" maxlength=\"10\">
"
            
.""._HOMEPAGE.": <input type=\"text\" name=\"homepage\" size=\"50\" maxlength=\"200\" value=\"http://\">

"
        
."<input type=\"hidden\" name=\"d_op\" value=\"AddUpload\">"
            
."<input type=\"submit\" value=\""._ADDTHISFILE."\"> "._GOBACK."

"
            
."</form>";
    } else {
        echo 
"<center>"._DOWNLOADSNOTUSER1."
"
        
.""._DOWNLOADSNOTUSER2."

"
            
.""._DOWNLOADSNOTUSER3."
"
            
.""._DOWNLOADSNOTUSER4."
"
            
.""._DOWNLOADSNOTUSER5."
"
            
.""._DOWNLOADSNOTUSER6."
"
            
.""._DOWNLOADSNOTUSER7."

"
            
.""._DOWNLOADSNOTUSER8."";
    }
    
CloseTable();
    include(
"footer.php");
}

function 
AddUpload($title$upfile$auth_name$cat$description$email$version$homepage) {
    global 
$prefix$db$user$module_name;
    include(
"modules/$module_name/d_config.php");    //required for upload path
    
    
if (!$enable_upload)
       die (
"This script is disabled...");
    
    
$upfilesize=$_FILES['upfile']['size'];            //better compatibility than $upfile_name and size
    
$upfilename=$_FILES['upfile']['name'];

// Check if Title exist
    
if ($title=="") {
    include(
"header.php");
    
menu(1);
    echo 
"
"
;
    
OpenTable();
    echo 
"<center>[b]"._DOWNLOADNOTITLE."[/b]

"
        
.""._GOBACK."";
    
CloseTable();
    include(
"footer.php");
    }
// Check if fileup exist
    
if ($upfile=="") {
    include(
"header.php");
    
menu(1);
    echo 
"
"
;
    
OpenTable();
    echo 
"<center>[b]"._DOWNLOADNOFILE."[/b]

"        
        
.""._GOBACK."";
    
CloseTable();
    include(
"footer.php");
    }
// Check if Description exist
    
if ($description=="") {
    include(
"header.php");
    
menu(1);
    echo 
"
"
;
    
OpenTable();
    echo 
"<center>[b]"._DOWNLOADNODESC."[/b]

"
        
.""._GOBACK."";
    
CloseTable();
    include(
"footer.php");
    }
    
$cat explode("-"$cat);
    if (
$cat[1]=="") {
    
$cat[1] = 0;
    }
    
$title stripslashes(FixQuotes($title));
    
//check Directories
    
if (file_exists("$uppath/$cat[0]/$cat[1]")==false) {
         if (
file_exists("$uppath/$cat[0]")==false){
             
mkdir("$uppath/$cat[0]"0777);                    //creates the needed directories
             
mkdir("$uppath/$cat[0]/$cat[1]"0777);
         }
         else 
           
mkdir("$uppath/$cat[0]/$cat[1]"0777);
    }
    
$newurl "$upbaseurl/$cat[0]/$cat[1]/$upfilename";            //local url of uploaded file

//Check if file already exist
    
    
$sql "SELECT url FROM ".$prefix."_downloads_downloads WHERE url='$newurl'";
    
$result $db->sql_query($sql);
    
$numrows $db->sql_numrows($result);
    if (
$numrows) {
    include(
"header.php");
    
menu(1);
    echo 
"
"
;
    
OpenTable();
    echo 
"<center>[b]"._DOWNLOADALREADYEXT."[/b]

"
        
.""._GOBACK."";
    
CloseTable();
    include(
"footer.php");
    } else {
    if(
is_user($user)) {
        
$user2 base64_decode($user);
        
$cookie explode(":"$user2);
        
cookiedecode($user);
        
$submitter $cookie[1];    
    }
   
//Upload File
    
if (copy$upfile "$uppath/$cat[0]/$cat[1]/$upfilename" ))
        {}
        else
          
$uperror true;
          
    
unlink($upfile);

    
$description stripslashes(FixQuotes($description));
    
$auth_name stripslashes(FixQuotes($auth_name));
    
$email stripslashes(FixQuotes($email));
    
$db->sql_query("INSERT INTO ".$prefix."_downloads_newdownload VALUES (NULL, '$cat[0]', '$cat[1]', '$title', '$newurl', '$description', '$auth_name', '$email', '$submitter', '$upfilesize', '$version', '$homepage')");
    include(
"header.php");
    
menu(1);
    echo 
"
"
;
    
OpenTable();
    if (
$uperror)
         echo 
"<center>[b]"._UPLOADNORECEIVED."[/b]
"
;
       else 
         echo 
"<center>[b]"._UPLOADRECEIVED."[/b]
"
;
    if (
$email == "") {
    echo 
_CHECKFORIT;
    }
    
CloseTable();
    include(
"footer.php");
    }

Das mit dem Scriptspeicher von 8MB könnte ich ja ändern, aber wiederum nur wenn sich die Grenze auf die Local Value bezieht.

Fällt jemanden was dazu ein ?
  Mit Zitat antworten
Alt 22.11.2004, 21:11  
Gast
 
Beiträge: n/a
Standard

@Grexx
>OK, hier ist der Link zu meiner phpinfo()

register_globals = On und eine kaputte Config.

>und so sieht das Skript aus:

Bis zu welcher Dateigröße funktioniert der Upload überhaupt?
Steht überhaupt was in $_FILES drin?
  Mit Zitat antworten
Alt 22.11.2004, 21:56  
Gast
 
Beiträge: n/a
Standard

Also 1,99 MB Dateien kommen noch einwandfrei an. Alles drüber wird abgebrochen...

>register_globals = ON und kaputte Config ???

Was meinst Du damit?

Ja, in der $_FILES steht was drin, ist aber nicht mehr mit drauf.
  Mit Zitat antworten
Alt 23.11.2004, 07:21  
Gast
 
Beiträge: n/a
Standard

@Grexx
>Also 1,99 MB Dateien kommen noch einwandfrei an. Alles drüber wird abgebrochen...

Ich habe das prinzipiell mal auf meiner Kiste getestet
"Die Datei ZendOptimizer-2[1].5.7-linux-glibc21-i386.tar.gz steht jetzt zur Verfügung. Sie ist 3397102 Bytes groß und vom Typ application/x-gzip-compressed."

>>register_globals = ON und kaputte Config ???
>Was meinst Du damit?

1. register_globals = On ist Mist, weil es für steinalte Scripte import_request_variables() gibt.

2. stehen im include_path Verzeichnisse drin, die in open_basedir nicht enthalten sind.

3. falsch gesetzter session.save_path. Sessions funktionieren auf der Kiste nicht.

4. sowas:
Zitat:
open_basedir /srv/www/htdocs/web37/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/
Der Pfad zum PhpMyAdmin ist Mumpitz, weil man bei Confixx eigentlich diesbezüglichen einen Link eintragen kann.

Wer braucht wann Zugriff per include auf '... /gesperrt'?

>Ja, in der $_FILES steht was drin, ist aber nicht mehr mit drauf.

s.o.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
datei upload problem thecracked PHP Tipps 2008 5 11.07.2008 06:23
Problem mit File Upload b++ PHP Tipps 2006 2 26.04.2006 20:35
Problem mit php/mysql PHP Tipps 2005-2 29 10.08.2005 14:33
Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
[Erledigt] warum kann nicht SVG files laden? PHP Tipps 2005 16 09.03.2005 14:05
Thumb function PHP Tipps 2005 5 07.03.2005 22:28
Problem mit Datei Upload Server, Hosting und Workstations 6 06.09.2004 04:58
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
problem mit normalem ftp upload! PHP Tipps 2004 4 30.07.2004 18:46
Upload problem -> unerklärliche fehlermeldung PHP Tipps 2004 9 19.07.2004 10:43
[Erledigt] Php skript upload problem! PHP Tipps 2004 2 30.06.2004 00:06
Einloggen funzt einfach nicht... PHP Tipps 2004 4 29.06.2004 11:12
[Erledigt] altes neues problem von datei upload!!! PHP Tipps 2004 3 28.06.2004 19:06
[Erledigt] File Upload: PRoblem mit Upload directory PHP Tipps 2004 3 26.06.2004 13:20
[Erledigt] Upload Problem PHP Tipps 2004 2 18.06.2004 13:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
local value master value, memory_limit local value, local value, confixx max_execution_time, php value, php memory_limit local value, memory_limit master value, php local value master value, php.ini local value confixx, php master, php upload value, php local master, value php, master value, php master local value, problem mit value php, php lokal datei upload, php memory_limit master value ändern, php master lokal, upload_max_filesize master value

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.