abonnement Unibet Coolblue Bitvavo
pi_66309414
Ik heb een vraag.

Ik heb een scriptje geschreven om meerdere bestanden aan een ZIP archive toe te voegen, echter wil ik dat de archive onder de xxxxxx bytes blijft.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
set_time_limit
(0);

error_reporting(E_ALL);

$base_dir   "d:/files/";
$base_files "*";
$archive_name "d:/zip";
$archive_size 8000000;
$cur_archive  0;

// leees directory
$dirArray = array();

foreach (
GLOB($base_dir $base_files) AS $file)
{
    if (!
is_dir($file))
    {
        
$dirArray[$file]='';
    }
}

function 
addFile($arc$file)
{
    
//echo 'add: ' . $file . "<br />";
    //flush();
    /*
    $zip = new ZipArchive;

    if (!file_exists($arc))
    {
        $zOpen = $zip->open($arc, ZIPARCHIVE::OVERWRITE);
    }
    else
    {
        $zOpen = $zip->open($arc, ZIPARCHIVE::CREATE);
    }
    
    $p = pathinfo($file);
    
    if ($zOpen === true)
    {
        $zip->addFile($file, $p['basename']);
    }
    
    $zip->close;
    
    unset($zip);
    
    */
    
    
exec("pkzip -ex " $arc " " $file$error);
    
clearstatcache();
}

function 
removeFile($arc$file)
{
    
//echo 'remove: ' . $file . "<br />";
    //flush();
    /*
    $zip = new ZipArchive;

    if (!file_exists($arc))
    {
        $zOpen = $zip->open($arc, ZIPARCHIVE::OVERWRITE);
    }
    else
    {
        $zOpen = $zip->open($arc, ZIPARCHIVE::CREATE);
    }

    $p = pathinfo($file);

    if ($zOpen === true)
    {
        $zip->deleteName($p['basename']);
    }

    $zip->close;

    unset($zip);
    
    */
    
    
exec("pkzip " $arc " -d " $file$error);
    
clearstatcache();
}

echo 
$archive_name $cur_archive ".zip<br />";
flush();

$add 0;

foreach (
$dirArray AS $filename => $null)
{
    
$add++;
    
clearstatcache();
    
addFile($archive_name $cur_archive ".zip",
            
$filename);
    
clearstatcache();
    if (
filesize($archive_name $cur_archive ".zip") > $archive_size)
    {
        
removeFile($archive_name $cur_archive ".zip",
                   
$filename);
        
$cur_archive++;
        echo 
'writen ' $add ' files <br /><br />';
        
$add 1;
        echo 
$archive_name $cur_archive ".zip<br />";
        
flush();
        
addFile($archive_name $cur_archive ".zip",
                
$filename);
    }
    
clearstatcache();
}
?>


echter werkt dit niet echt goed, wanneer ik een zip bestand wil maken stopt hij (bij gebruik van exec) bij het tweede bestand op ruim 6mb en gaat niet verder.

Als ik de ZipArchive gebruik krijg ik opeens een apache error en stopt het script.. Anyone?

Naar aanleiding van een ander topic :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_66331822
edit

-Fixed-

[ Bericht 47% gewijzigd door cablegunmaster op 22-02-2009 02:12:11 ]
Redacted
  zondag 22 februari 2009 @ 02:42:37 #28
111382 Ofyles2
Bestemming: onbekend
pi_66332371
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$db = mysql_connect("localhost","account","wachtwoord") or die ("Verbinding mislukt");
mysql_select_db("easyc",$db);
$news_SQL="SELECT * FROM news ORDER BY news_datetime DESC";
$news_result=mysql_query($news_SQL);
//Berichten weergeven
while($news=mysql_fetch_array($news_result)){
   if(strlen($news['news_main'])>50){
      $news['news_main']=substr($news['news_main'],0,40) . " ... <a href=news2.php?news_id=" . $news['news_id'] . ">meer</a>";
   }
   echo "<div class=\"news\">";
   echo "<div class=\"news_datetime\">" .$news['news_datetime'] . "</div>";
   echo "<div class=\"news_header\">" . $news['news_header'] . "</div>";
   echo "<div class=\"news_main\">" .$news['news_main'] . "</div>";
   echo "</div><br>";
}
mysql_close();
?>


Deze tekst heb ik dus ingevoerd, hoe krijg ik het voor elkaar ingekorte tekst weer in de oorspronkelijke stand terug te krijgen?
pi_66333454
quote:
Op zondag 22 februari 2009 02:42 schreef Ofyles2 het volgende:

[ code verwijderd ]

Deze tekst heb ik dus ingevoerd, hoe krijg ik het voor elkaar ingekorte tekst weer in de oorspronkelijke stand terug te krijgen?
die substr kort het in

probeer onderstaande eens

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$db 
mysql_connect("localhost","account","wachtwoord") or die ("Verbinding mislukt");
mysql_select_db("easyc",$db);
$news_SQL="SELECT * FROM news ORDER BY news_datetime DESC";
$news_result=mysql_query($news_SQL);
//Berichten weergeven
while($news=mysql_fetch_array($news_result)){
   if(
strlen($news['news_main'])>50){
      
$news['news_main']=$news['news_main'] ;
   }
   echo 
"<div class=\"news\">";
   echo 
"<div class=\"news_datetime\">" .$news['news_datetime'] . "</div>";
   echo 
"<div class=\"news_header\">" $news['news_header'] . "</div>";
   echo 
"<div class=\"news_main\">" .$news['news_main'] . "</div>";
   echo 
"</div><br>";
}
mysql_close();
?>


[ Bericht 81% gewijzigd door amvrosios op 22-02-2009 07:11:04 (code toegevoegd) ]
Vooral dat wat hier boven staat.
pi_66333552
quote:
Op zaterdag 21 februari 2009 11:59 schreef Chandler het volgende:
Ik heb een vraag.

Ik heb een scriptje geschreven om meerdere bestanden aan een ZIP archive toe te voegen, echter wil ik dat de archive onder de xxxxxx bytes blijft.
[ code verwijderd ]

echter werkt dit niet echt goed, wanneer ik een zip bestand wil maken stopt hij (bij gebruik van exec) bij het tweede bestand op ruim 6mb en gaat niet verder.

Als ik de ZipArchive gebruik krijg ik opeens een apache error en stopt het script.. Anyone?

Naar aanleiding van een ander topic
Is de Apache error een beetje zinvol? Of segfault Apache gewoon?
  zondag 22 februari 2009 @ 12:11:59 #31
75592 GlowMouse
l'état, c'est moi
pi_66336061
quote:
Op zondag 22 februari 2009 07:10 schreef amvrosios het volgende:

[..]

die substr kort het in

probeer onderstaande eens
[ code verwijderd ]
Dan heeft die hele if ook geen zin meer he?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 22 februari 2009 @ 14:13:27 #32
111382 Ofyles2
Bestemming: onbekend
pi_66339596
quote:
Op zondag 22 februari 2009 07:10 schreef amvrosios het volgende:

[..]

die substr kort het in

probeer onderstaande eens
[ code verwijderd ]
Ik heb de substr geprobeerd, ik wil de code zodanig uitschrijven dat je door middel van een link de volledige tekst kunt terughalen.
pi_66341216
Hoi, Ik ben een totale PHP-noob en heb een vraagje. Op mijn site heb ik een contactformulier in PHP en zou het volgende willen veranderen: Als er een mail gestuurd wordt naar mijn mailadres komt er in de 'onderwerpregel' steeds 'Contactname Buonissimo - Kok aan huis' staan. Ik zou echter willen dat de mensen in het contactformulier zelf een onderwerp kunnen invullen en dat dit dan in de onderwerpregel van de gestuurde mail komt te staan. Kan iemand mij de code geven hoe dit moet? Want ik ken totaal geen PHP. Mijn formulierbestanden zien er als volgt uit.

Eerste bestand:

<body>

<div id="page-wrap">

<img src="images/kokaanhuis-homecooking-thuiskok.gif" alt="kok aan huis,thuiskok,homecooking" /><br /><br />




<div id="contact-area">

<form method="post" action="contactengine.php">

<label for="Aantal" id="Aantal">Aantal genodigden:</label>
<input type="text" name="Aantal" />

<label for="Datum" id="Datum">Datum event:</label>
<input type="text" name="Datum" />

<label for="Bericht" id="Bericht">Vragen, suggesties of opmerkingen:</label><br /><textarea name="Bericht" rows="20" cols="20"></textarea>

<label for="Naam" id="Naam">Naam:</label>
<input type="text" name="Naam" />

<label for="Woonplaats" id="Woonplaats">Woonplaats:</label>
<input type="text" name="Woonplaats" />

<label for="Email" id="Email">Email:</label>
<input type="text" name="Email" />



<input type="submit" name="submit" value="Verzend" class="submit-button" />
</form>

<div style="clear: both;"></div>

</div>


Tweede bestand:

<?php

$EmailFrom = "info@buonissimo-kokaanhuis.be";
$EmailTo = "info@buonissimo-kokaanhuis.be";
$Subject = "Contactname Buonissimo - Kok aan huis";
$Aantal = Trim(stripslashes($_POST['Aantal']));
$Datum = Trim(stripslashes($_POST['Datum']));
$Bericht = Trim(stripslashes($_POST['Bericht']));
$Naam = Trim(stripslashes($_POST['Naam']));
$Woonplaats = Trim(stripslashes($_POST['Woonplaats']));
$Email = Trim(stripslashes($_POST['Email']));


// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}

// prepare email body text
$Body = "";
$Body .= "Aantal: ";
$Body .= $Aantal;
$Body .= "\n";
$Body .= "Datum: ";
$Body .= $Datum;
$Body .= "\n";
$Body .= "Bericht: ";
$Body .= $Bericht;
$Body .= "\n";
$Body .= "Naam: ";
$Body .= $Naam;
$Body .= "\n";
$Body .= "Woonplaats: ";
$Body .= $Woonplaats;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";


$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");


if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=kokaanhuis-thuiskok-bedankje.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

Hopelijk kan iemand me helpen.
pi_66341389
quote:
Op zondag 22 februari 2009 15:08 schreef Buonissimo het volgende:
Hoi, Ik ben een totale PHP-noob en heb een vraagje. Op mijn site heb ik een contactformulier in PHP en zou het volgende willen veranderen: Als er een mail gestuurd wordt naar mijn mailadres komt er in de 'onderwerpregel' steeds 'Contactname Buonissimo - Kok aan huis' staan. Ik zou echter willen dat de mensen in het contactformulier zelf een onderwerp kunnen invullen en dat dit dan in de onderwerpregel van de gestuurde mail komt te staan. Kan iemand mij de code geven hoe dit moet? Want ik ken totaal geen PHP. Mijn formulierbestanden zien er als volgt uit.

Eerste bestand:

<body>

<div id="page-wrap">

<img src="images/kokaanhuis-homecooking-thuiskok.gif" alt="kok aan huis,thuiskok,homecooking" /><br /><br />




<div id="contact-area">

<form method="post" action="contactengine.php">

<label for="Aantal" id="Aantal">Aantal genodigden:</label>
<input type="text" name="Aantal" />

<label for="Datum" id="Datum">Datum event:</label>
<input type="text" name="Datum" />

<label for="Onderwerp" id="Onderwerp">Onderwerp:</label><br />
<input type="text" name="Onderwerp" />


<label for="Bericht" id="Bericht">Vragen, suggesties of opmerkingen:</label><br /><textarea name="Bericht" rows="20" cols="20"></textarea>

<label for="Naam" id="Naam">Naam:</label>
<input type="text" name="Naam" />

<label for="Woonplaats" id="Woonplaats">Woonplaats:</label>
<input type="text" name="Woonplaats" />

<label for="Email" id="Email">Email:</label>
<input type="text" name="Email" />



<input type="submit" name="submit" value="Verzend" class="submit-button" />
</form>

<div style="clear: both;"></div>

</div>


Tweede bestand:

<?php

$EmailFrom = "info@buonissimo-kokaanhuis.be";
$EmailTo = "info@buonissimo-kokaanhuis.be";
$Subject = Trim(stripslashes($_POST['Onderwerp']));
$Aantal = Trim(stripslashes($_POST['Aantal']));
$Datum = Trim(stripslashes($_POST['Datum']));
$Bericht = Trim(stripslashes($_POST['Bericht']));
$Naam = Trim(stripslashes($_POST['Naam']));
$Woonplaats = Trim(stripslashes($_POST['Woonplaats']));
$Email = Trim(stripslashes($_POST['Email']));


// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv="refresh" content="0;URL=error.htm">";
exit;
}

// prepare email body text
$Body = "";
$Body .= "Aantal: ";
$Body .= $Aantal;
$Body .= "\n";
$Body .= "Datum: ";
$Body .= $Datum;
$Body .= "\n";
$Body .= "Bericht: ";
$Body .= $Bericht;
$Body .= "\n";
$Body .= "Naam: ";
$Body .= $Naam;
$Body .= "\n";
$Body .= "Woonplaats: ";
$Body .= $Woonplaats;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";


$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");


if ($success){
print "<meta http-equiv="refresh" content="0;URL=kokaanhuis-thuiskok-bedankje.php">";
}
else{
print "<meta http-equiv="refresh" content="0;URL=error.htm">";
}
?>

Hopelijk kan iemand me helpen.
Dat zou 'ie moeten wezen
  zondag 22 februari 2009 @ 15:17:02 #35
75592 GlowMouse
l'état, c'est moi
pi_66341478
Nuttige validatiecheck in de code!

http://www.scriptorama.nl/security/mail-en-headers
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_66342187
quote:
Op zondag 22 februari 2009 15:14 schreef Intrepidity het volgende:

[..]

Dat zou 'ie moeten wezen
Hartelijk dank! Het is gelukt
pi_66353167
quote:
Op zondag 22 februari 2009 08:23 schreef Mookai het volgende:

[..]

Is de Apache error een beetje zinvol? Of segfault Apache gewoon?
Nee eingelijk niet kan er iig niet wijs uit worden.

Andere vraag, weet iemand hoe je links uit een zoekopdracht op google kunt extracten? (alleen de gewone links en niet de gesponsorde links)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_66358447
quote:
Op zondag 22 februari 2009 21:12 schreef Chandler het volgende:

[..]

Nee eingelijk niet kan er iig niet wijs uit worden.

Andere vraag, weet iemand hoe je links uit een zoekopdracht op google kunt extracten? (alleen de gewone links en niet de gesponsorde links)
Kun je hem toch posten ofzo? Tenzij je het al opgelost hebt natuurlijk.
pi_66364794
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Vastgelopen toepassing: apache.exe, versie: 2.2.8.0, vastgelopen module: php_zip.dll, versie: 5.2.5.5, vastgelopen op: 0x000062e3.

Zie Help en ondersteuning op http://go.microsoft.com/fwlink/events.asp voor meer informatie.

0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 61 70 61   ure  apa
0018: 63 68 65 2e 65 78 65 20   che.exe 
0020: 32 2e 32 2e 38 2e 30 20   2.2.8.0 
0028: 69 6e 20 70 68 70 5f 7a   in php_z
0030: 69 70 2e 64 6c 6c 20 35   ip.dll 5
0038: 2e 32 2e 35 2e 35 20 61   .2.5.5 a
0040: 74 20 6f 66 66 73 65 74   t offset
0048: 20 30 30 30 30 36 32 65    000062e
0050: 33                        3       
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 24 februari 2009 @ 00:52:01 #40
65516 gieling
Live from NYC
pi_66395028
Ik heb een probleempje, voor het croppen van wat afbeeldingen heb ik het volgende scriptje van internet geplukt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
function cropImage($nw$nh$source$stype$dest) {
    
$size getimagesize($source);
    
$w $size[0];
    
$h $size[1];
    switch(
$stype) {
        case 
'gif':
        
$simg imagecreatefromgif($source);
        break;
        case 
'jpg':
        
$simg imagecreatefromjpeg($source);
        break;
        case 
'png':
        
$simg imagecreatefrompng($source);
        break;
    }
    
$dimg imagecreatetruecolor($nw$nh);
    
$wm $w/$nw;
    
$hm $h/$nh;
    
$h_height $nh/2;
    
$w_height $nw/2;
    if(
$w$h) {
        
$adjusted_width $w $hm;
        
$half_width $adjusted_width 2;
        
$int_width $half_width $w_height;
        
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
    } elseif((
$w <$h) || ($w == $h)) {
        
$adjusted_height $h $wm;
        
$half_height $adjusted_height 2;
        
$int_height $half_height $h_height;
        
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
    } else {
        
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
    }
    
imagefilledrectangle($dimg00$width 1$height 1$background);
    
imagejpeg($dimg,$dest,100);
}


$get_cat mysql_query("select id,picture FROM prim_product ORDER BY id ASC");
while(
$cat mysql_fetch_assoc($get_cat)) {

    
cropImage(10279'uploads/'.$cat["picture"], 'jpg''obj_images_hp/'.$cat["picture"]);

}
?>


Alleen is het zo dat bij imagecopyresampled de default achtergrondkleur zwart is. Bij langwerpige afbeeldingen zie je nu links en rechts (zoals verwacht) twee zwarte balken. Ik zou graag willen dat de achtergrond kleur wit blijft... ik heb er al even mee lopen te stoeien maar nog niet gelukt. Hier iemand een suggestie? :)
  dinsdag 24 februari 2009 @ 01:17:23 #41
246405 credit--
Ben even bij de bank
pi_66395494
Je hebt 3 imagecopyresampled calls, bij welke, of bij allemaal?
  dinsdag 24 februari 2009 @ 12:15:24 #42
65516 gieling
Live from NYC
pi_66403964
in ieder geval bij de eerste twee, zit me nu even af te vragen wat de derde doet
pi_66406081
quote:
Op dinsdag 24 februari 2009 12:15 schreef gieling het volgende:
in ieder geval bij de eerste twee, zit me nu even af te vragen wat de derde doet
Die derde doet niets.
Heb je ook verschillende plaatjes geprobeerd (gif/jpg/png)?
  dinsdag 24 februari 2009 @ 13:33:19 #44
65516 gieling
Live from NYC
pi_66406515
Nee, het gaat om een aardige collectie afbeeldingen die al in jpg formaat zijn opgeslagen... Ik was iets aan het lezen over ImageFilledRectangle maar in alle voorbeelden gaat het over een nieuwe afbeelding die wordt aangemaakt, waarbij ik het nodig heb bij bestaande afbeeldingen...
pi_66406612
quote:
Op dinsdag 24 februari 2009 13:33 schreef gieling het volgende:
in alle voorbeelden gaat het over een nieuwe afbeelding die wordt aangemaakt, waarbij ik het nodig heb bij bestaande afbeeldingen...
Wat denk je dat imagecreatetruecolor() doet?
  dinsdag 24 februari 2009 @ 14:12:06 #46
65516 gieling
Live from NYC
pi_66407958
mm - scherp gelukt btw
pi_66412665
Ik ben bezig een site te maken waarbij zoekresultaten worden weergegeven. Gaat allemaal goed, resultaten worden weergegeven zoals ik dat wil.
Alleen als ik terug keer naar mijn zoekformulier dmv de back button, krijg ik een hinderlijke melding dat de post variabelen opnieuw gepost worden. Dat is uiteraard prima, maar hoe voorkom ik deze melding. En niet als browser setting, maar in mijn site.
Wel vaker hier mee te maken gehad, nooit eerder echt op gelet eigenlijk. Kan op Google niks vinden. Komt waarschijnlijk omdat ik niet weet waar ik moet beginnen.
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  dinsdag 24 februari 2009 @ 16:26:47 #48
85514 ralfie
!Yvan eht nioj
pi_66412789
quote:
Op dinsdag 24 februari 2009 16:23 schreef markiemark het volgende:
Ik ben bezig een site te maken waarbij zoekresultaten worden weergegeven. Gaat allemaal goed, resultaten worden weergegeven zoals ik dat wil.
Alleen als ik terug keer naar mijn zoekformulier dmv de back button, krijg ik een hinderlijke melding dat de post variabelen opnieuw gepost worden. Dat is uiteraard prima, maar hoe voorkom ik deze melding. En niet als browser setting, maar in mijn site.
Wel vaker hier mee te maken gehad, nooit eerder echt op gelet eigenlijk. Kan op Google niks vinden. Komt waarschijnlijk omdat ik niet weet waar ik moet beginnen.
Daarom worden de meeste zoekformulieren aangestuurd via de GET variabelen

zoek.php?query=ik%20wil%20iets%20zoeken&page=3

scheelt een hoop gezeik in vergelijking met dingen als frames, javascript/ajax etc.
pi_66413104
Juist, gewoon GET gebruiken Kunnen bezoekers het nog bookmarken/doorsturen ook.
  dinsdag 24 februari 2009 @ 17:46:21 #50
56176 Catch22-
Ben je Blind?!
pi_66415533
quote:
Op zondag 22 februari 2009 02:42 schreef Ofyles2 het volgende:

[ code verwijderd ]

Deze tekst heb ik dus ingevoerd, hoe krijg ik het voor elkaar ingekorte tekst weer in de oorspronkelijke stand terug te krijgen?
1
2
3
   if(strlen($news['news_main'])>50){
      echo substr($news['news_main'],0,40) . " ... <a href=news2.php?news_id=" . $news['news_id'] . ">meer</a>";
   }
?
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')