php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-07-2004, 12:16
shebaka
 Newbie
Links : Onlinestatus : shebaka ist offline
Registriert seit: Jun 2004
Beiträge: 20
shebaka ist zur Zeit noch ein unbeschriebenes Blatt
Standard Probleme mit Dateiupload!!

Hallo!

Ich habe ein Problem, mit dem ich selber nicht zurechtkomme!

Ich will nämlich eine 5.615.665 Bytes große Datei mittels PHP Upload zum Server hochladen und dort in einen String einlesen.

Funtkioniert auch, hochgeladen wird sie aber dann kommt diese Fehlermeldung.

Zitat:
Fatal error: Allowed memory size of 16777216 bytes exhausted at (null):0 (tried to allocate 35 bytes) in /home/htdocs/web203/html/op/ago/eu/eu_ago/admin/nl.db.import.php on line 180
Das Script hat mit kleinen Datein bis jetzt immer funktioniert!!!
was ich nicht verstehe:
"Allowed memory size of 16777216 bytes" wird doch eh nicht überschritten!

und "nl.db.import.php" hat keine 180 zeilen! sondern nur 129. wie kann dann hier ein Fehler sein?

Ich hab eben keine Ahnung wo der Fehler liegt und was ich tun kann!

Checkt das wer ab?

lg shebaka
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 20-07-2004, 12:24
machstuhl
 Newbie
Links : Onlinestatus : machstuhl ist offline
Registriert seit: Jul 2004
Ort: remscheid
Beiträge: 8
machstuhl ist zur Zeit noch ein unbeschriebenes Blatt
machstuhl eine Nachricht über ICQ schicken machstuhl eine Nachricht über AIM schicken machstuhl eine Nachricht über Yahoo! schicken
Standard

poste doch mal dein script...
__________________
Life goes on !
Mit Zitat antworten
  #3 (permalink)  
Alt 20-07-2004, 12:37
shebaka
 Newbie
Links : Onlinestatus : shebaka ist offline
Registriert seit: Jun 2004
Beiträge: 20
shebaka ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, dass du mir hilfst!!

PHP-Code:
<body>

 <div align="center">

  <h4>Bitte laden sie die Datei mit den Email Adressen auf den Server:</h4>

<form

  action="<?php echo $_SERVER['PHP_SELF']; ?>"

  method="post"

  enctype="multipart/form-data">

<input type="file" name="memberlist" />

<input type="submit" name="uppen" value="Los!" />

</form>

 </div>

<hr>

<?php
 
// Grundconfig wird übernommen
 
include('config.php');    

 
// Variablen werden definiert
 
$datei_name "new_member_list.tmp";
 
$datei_name_pfad "temp/new_member_list.tmp";

 
 
// wenn uppen mit einem beliebigen wert belegt ist, wird die schleife durchlaufen!
 
if($uppen)
 {
    
// $memberlist
    
if(isset($memberlist) && $memberlist!="none"
     {
         
move_uploaded_file($memberlist"/home/htdocs/web203/html/op/ago/eu/eu_ago/admin/temp/".$datei_name);
         echo
"<div align='center'> Die importierte Datei ist " filesize($datei_name_pfad) . " Bytes groß. </div>";

         
$bb "1";
     }
   else
     {
         echo
"Bitte geben Sie eine Datei an!";
     }
 }
 if (
$bb == "1"
   {
    
$fh fopen($datei_name_pfad'r') or die($php_errormsg);
    
$dateiinhalt fread($fhfilesize($datei_name_pfad));
    
    echo(
"<hr><div align='left'><h3>Folgende Email Adressen wurden der Datei entnommen und zur Datenbank hinzugefügt:</h3></div>");    

    
$gb_such ";";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt);

    
$gb_such " ";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt);

    
$gb_such "";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt);

    
$gb_such "?";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt);

    
$gb_such "\r";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt);

    
$gb_such "\n";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt); 
 
    
$gb_such "ÿþ";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt); 

    
$gb_such "";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt); 
    
    
$gb_such "";
    
$gb_ersetze "";
    
$dateiinhalt str_replace($gb_such$gb_ersetze$dateiinhalt);     

    
$array explode("\"",$dateiinhalt); for($x=0;$x<count($array);$x++){  

    if (
$array[$x] == TRUE)
     {
            
      
mysql_query("INSERT INTO `newsletter` ( `email` , `aktiv` , `abhost` , `abip` , `abdate` , `abtime` )
VALUES (
'$array[$x]', '', '', '', '', ''
);"
);
     
     echo(
"<div align='left'>".$array[$x]."</div>\n");    
     
     }

    
    
    
   }
  
  echo(
"<hr><h4><div align='center'>fertig!</div></h4>");
 }

 
?>

</body>
Mit Zitat antworten
  #4 (permalink)  
Alt 12-09-2004, 15:24
Djangoline
 Newbie
Links : Onlinestatus : Djangoline ist offline
Registriert seit: Sep 2004
Ort: Germany
Beiträge: 1
Djangoline ist zur Zeit noch ein unbeschriebenes Blatt
Smile Allowed memory size of

Hallo shebaka,

ich habe die LÖSUNG (jedenfalls funktioniert's bei mir, siehe ganz unten)!!!

Da ich einen eigenen Entwicklungsserver (Suse-Linux und Apache mit xampp) betreibe, kann ich jederzeit auch die Serverkofiguration ändern.

Vor ein paar Tagen hatte ich folgende Fehlermeldung:

"Allowed memory size of 8388608 bytes exhausted tried to allocate 49099 bytes"

Ich versuchte über phpmyadmin einen größeren DB-Dump als SQL einzufügen (ca 10.000 Datensätze). Dann versuchte ich's mit 4.000 und dann runter bis 1.000 Datensätze, die gingen dann ohne Probleme.

Dann schaute ich mir die Serverkonfiguration an (die Zahl 8388608), die gibts in der php.ini (Verzeichnis: /opt/lampp/etc/) und zwar "8M" in der Variablenzuweisung

siehe Ausschnitt (in der Datei: php.ini):
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30 ; Maximum execution time of each script, in seconds
memory_limit = 24M ; Maximum amount of memory a script may consume (8MB)

den Wert "8M" habe ich auf "24M" erhöht, das ist der zugeordnete Arbeitsspeicher

danach den Apache (bei mir der lampp) in der Shell neustarten mit:

/opt/lampp/lampp restart

Wenn Du von einem Provider abhängig bist, würde ich versuchen daß der Provider diesen "Speicherwert" erhöht. Wenn er nicht mitmacht, dann solltest Du Deine Daten in kleine Häppchen einlesen.

Viel Spaß!
__________________

Gruß
Djangoline
Mit Zitat antworten
  #5 (permalink)  
Alt 12-09-2004, 18:07
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Die 16-MB-Grenze wird überschritten, weil bei der Verarbeitung ein Mehrfaches der eigentlichen Dateigröße in Anspruch genommen wird.

Probier mal ein "unset($dateiinhalt)"nach

PHP-Code:
$array explode("\"",$dateiinhalt); 
Vielleicht hilft das schon, um unter der Grenze zu bleiben.
Mit Zitat antworten
  #6 (permalink)  
Alt 23-02-2005, 19:30
chrissi71
 Newbie
Links : Onlinestatus : chrissi71 ist offline
Registriert seit: Feb 2005
Beiträge: 1
chrissi71 ist zur Zeit noch ein unbeschriebenes Blatt
Standard [GD] imagecreatefromjpeg Problem und memory_limit

Ich antworte hier auf dieses Thema, weil ich selber lange, lange nach einer Lösung gesucht habe, und ich nirgendwo im Web eine EINDEUTIGE Antwort gefunden habe.
Jetzt hab ich sie und will sie weitergeben:
(Ich hoffe, der Betreff ist in den Suchmaschinen schnell zu finden ..)

imagecreatefromjpeg:
Kleine jpg´s funkten ohne Probleme, größere eben NICHT .. aber die Grenze war nicht immer gleich!

Lösung: folgende Zeilen in den Anfang der Upload-Datei stellen:

set_time_limit (60); // statt standardmäßig 30
ini_set('memory_limit', '32M'); // statt standardmäßig 8M

damit wird der Memory vergrößert, was unbedingt notwendig ist (weil der image-Befehl quasi eine "original-Datei" mit "original-Seitenbreiten bzw. Pixelbreiten" erzeugt. Also alles andere als gepackt ..), und nebenbei auch gleich mal die max_execution_time erhöht ..

vielleicht nutzt das hier ja mal jemanden )
ciao!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:13 Uhr.